我在运行nginx和php5-fpm的ubuntu 12.04上的/etc/php5/fpm/php-fpm.conf下启用了error_log = /var/log/php5-fpm.log.
但是我注意到php5-fpm.log没有logrotate.我试图理解我从互联网上找到的一些配置,但我不愿意在我的生产服务器上测试它.
以下是我发现的一些配置:
/var/log/php5-fpm.log {
rotate 12
weekly
missingok
notifempty
compress
delaycompress
postrotate
invoke-rc.d php5-fpm reopen-logs > /dev/null
endscript
}
这是配置的link.据我所知,我需要的是在/etc/logrotate.d/下创建一个名为php5-fpm的文件,所以它看起来像/etc/logrotate.d/php5-fpm并带有上面的代码.
我还从这个link中找到了另一个样本,其代码如下:
/var/log/php5-fpm.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
[ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`
endscript
}
由于我是logrotate配置的新手,我想确保我要做的是正确的.
那么,这两种配置中的哪一种是正确的?第一个还是第二个?我只在/etc/logrotate.d/php5-fpm创建一个文件并将代码放在那里是否正确?
对不起,如果这是一个新手问题,我就找不到如何做到这一点的完整说明.
解决方法:
只是为了通过谷歌来澄清其他人:
1)
invoke-rc.d php5-fpm reopen-logs > /dev/null
这是您的发行版必须支持的内容.选项“reopen-logs”不附带PHP源包提供的默认init脚本.所以你可能无法使用它.
2)
[ ! -f /var/run/php5-fpm.pid ] || kill -USR1 `cat /var/run/php5-fpm.pid`
你可以从源代码中看到这个“信号”是额外用于对数转换的,应该优于“USR2”,它只能用于重新加载配置.
标签:ubuntu,linux,logrotate,logging
来源: https://codeday.me/bug/20190517/1119307.html