我有一个看起来像这样的配置文件:
/var/log/Nginx/*.log { daily missingok rotate 90 dateext compress notifempty create 644 root adm sharedscripts postrotate [ ! -f /var/run/Nginx.pid ] || kill -USR1 `cat /var/run/Nginx.pid` /usr/local/bin/synclogs.sh endscript }
synclogs.sh应该在所有日志文件都已旋转和压缩时运行.该脚本确实成功启动,但是当它开始运行时,程序找不到logrotate应该生成的任何.gz文件.几分钟后我手动运行脚本,开始很好.
根据我发现的文档,postrotate不应该在压缩完成之前启动.那不是这样吗?这是Debian Squeeze中提供的logrotate中的错误还是我错过了一些非常简单的东西?
@H_403_8@解决方法
你试过这个:
/var/log/Nginx/*.log { daily missingok rotate 90 dateext compress **delaycompress** notifempty create 644 root adm sharedscripts postrotate [ ! -f /var/run/Nginx.pid ] || kill -USR1 `cat /var/run/Nginx.pid` /usr/local/bin/synclogs.sh endscript }
看一下delaycompress选项,当然没有“*”HTH
@H_403_8@ @H_403_8@