Answers:
logrotate
用于crontab
工作。它是计划的工作,而不是守护程序,因此无需重新加载其配置。
当crontab
执行logrotate
时,会自动使用新的配置文件。
如果您需要测试配置,也可以logrotate
使用以下命令自行执行:
logrotate /etc/logrotate.d/your-logrotate-config
或者如注释参考slm的答案以获取准确的cron。logrotate
中所述,在命令输出中标识该行crontab -l
并执行命令行以
crontab -l
并从crontab中找到相应的条目并执行它。
logrotate
有一个-d
用于测试(或“调试”)的选项,我建议至少运行一次。
logrotate
我在各种发行版上看到的大多数设置都用光了/etc/cron.daily
。有一个shell脚本,恰当地命名为logrotate
。
$ ls -l /etc/cron.daily/logrotate
-rwxr-xr-x 1 root root 180 May 18 2011 /etc/cron.daily/logrotate
如果要使其手动运行,只需以root用户身份运行脚本:
$ sudo /etc/cron.daily/logrotate
如果看一下通常存在的脚本,它会向您展示如何logrotate
通过简单地运行logrotate
+配置文件的路径来手动运行。
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
它应该通过cron自动执行。您可以强制它测试您的更改。
对于全局logrotate:
sudo logrotate -v -f /etc/logrotate.conf
对于单个conf文件:
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
-f
对于强制旋转,还有-d
用于调试(也为空运行)的调试,它将打印本应执行但实际上不执行的所有操作。
logrotate
计划每天运行一次。