在 centos 7.3 上旋转日志丢失旧文件
Rotate log lost old file on centos 7.3
我为 apache 配置了每天轮换日志。
当新的一天到来时,示例 00:00AM 今天 (07/31/2017),创建了新的 access.log 文件,旧的 access.log 文件更改为 access.log-31072017
问题在这里,明天,access.log 文件将更改为 access.log-01082017(是),新的 access.log 将创建(是),但是 access.log- 31072017 文件丢失(哎哟)。
而且,我执行了:
vi /etc/logrotate.d/httpd
插入文件结尾
/home/*/logs/*log{
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
旋转配置
vi /etc/logrotate.conf
将weekly
更改为daily
将rotate 4
更改为rotate 1
Log文件记录在/home/example.com/logs/
路径
如何保留前几天的文件
提前致谢
尝试将 /etc/logrotate.conf 中的值 rotate
改回 4。尽管 logrotate.conf 中有注释 这不是日志保留的周数,而是文件在删除前轮换的次数。
logrotate.conf 的联机帮助页解释得更清楚:
rotate count
Log files are rotated count times before being removed or mailed to the address specified in a mail directive. If count is 0, old versions are removed
rather than rotated. Default is 0.
将其设置为 4 应该将旧日志保留四天。
我为 apache 配置了每天轮换日志。
当新的一天到来时,示例 00:00AM 今天 (07/31/2017),创建了新的 access.log 文件,旧的 access.log 文件更改为 access.log-31072017
问题在这里,明天,access.log 文件将更改为 access.log-01082017(是),新的 access.log 将创建(是),但是 access.log- 31072017 文件丢失(哎哟)。
而且,我执行了:
vi /etc/logrotate.d/httpd
插入文件结尾
/home/*/logs/*log{
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}
旋转配置
vi /etc/logrotate.conf
将weekly
更改为daily
将rotate 4
更改为rotate 1
Log文件记录在/home/example.com/logs/
路径
如何保留前几天的文件
提前致谢
尝试将 /etc/logrotate.conf 中的值 rotate
改回 4。尽管 logrotate.conf 中有注释 这不是日志保留的周数,而是文件在删除前轮换的次数。
logrotate.conf 的联机帮助页解释得更清楚:
rotate count
Log files are rotated count times before being removed or mailed to the address specified in a mail directive. If count is 0, old versions are removed rather than rotated. Default is 0.
将其设置为 4 应该将旧日志保留四天。