关于Veeam 数据库Postgres Log日志文件

四月的奥德赛 VEEAM 379 次浏览 没有评论

如下图所示:C:\Program Files\PostgreSQL\15\data\log下会生成许多log文件。当VBRJob数量比较多、或Schedule频率比较频繁时,则会在log目录下会产生比较多Postgres日志文件。

Postgres Log日志越来越多时,可能会占用比较多的磁盘空间。本文则介绍如何及时、安全地清理Postgres Log日志。

方法一:修改postgresql.conf配置文件

C:\Program Files\PostgreSQL\15\data\目录下有一个postgresql.conf配置文件里,找到如下配置项:

1)、#log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’

2)、log_rotation_age = 10d

3)、#log_rotation_size = 10MB

4)、#log_truncate_on_rotation = off

修改项:

1)、注释 log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’

2)、修改log_rotation_age = 10d log_rotation_age = 4h //日志保留时间由10天,改成4小时。

3)、注释log_rotation_size = 10MB

4)、注释log_truncate_on_rotation = on //改成on

注意,修改后需要重启Postgres服务。重启服务前需要确保没有正在运行的Veeam Job

 

方法二:修改Set-VBRPSQLDatabaseServerLimits

v12.1开始,VBR增加了一个功能:可以用来更新的Postgres Log日志记录设置。但遗憾的是升级到v12.1的过程中,不会自动去升级、更新这个设置,需要手工去更新。

直接打开Veeam Powershell窗口,输入 Set-VBRPSQLDatabaseServerLimits 即可。

注意,修改后仍然需要重启Postgres服务。重启服务前需要确保没有正在运行的Veeam Job

 

方法三:使用脚本定期删除

新建一条定期删除的脚本,如:auto_del_pglog.bat文件,输入一下内容:

@echo off

set SrcDir=“C:\Program Files\PostgreSQL\15\data\log”

set DaysAgo=“7”

forfiles /p %SrcDir% /s /m
*.log /d –%DaysAgo% /c “cmd /c del /f /q /a @path

其中:SrcDir是指Postgres Log目录路径,DaysAgo是指保留天数。

发表回复

Go