对配置文件进行更改后,应该怎么做才能使它生效?
#1 楼
logrotate
使用crontab
工作。它是排定的工作,而不是守护程序,因此无需重新加载其配置。crontab
执行logrotate
时,它将自动使用新的配置文件。如果需要测试配置,也可以执行使用以下命令自行运行
logrotate
:logrotate /etc/logrotate.d/your-logrotate-config
或者如注释中所述,在命令
logrotate
的输出中标识crontab -l
行并执行参考slm的命令行回答,以得到准确的cron.daily说明#2 楼
我在各种发行版中看到的大多数logrotate
设置都用完/etc/cron.daily
。有一个名为logrotate
的shell脚本。示例
$ 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
#3 楼
它应该通过cron自动执行。您可以强制其测试更改。对于全局logrotate:
sudo logrotate -v -f /etc/logrotate.conf
对于单个conf文件:
sudo logrotate -v -f /etc/logrotate.d/someapp.conf
评论
-f用于强制旋转,还有-d用于调试,它也是空运行,它将打印本来会执行但实际上不执行的所有操作。
–雷神召唤师
16-2-22在23:37
#4 楼
在我的CentOS 6.5机器上为nginx设置logrotate时,我必须这样做:logrotate /etc/logrotate.d/nginx
然后我检查logrotate是否像这样照顾新的nginx配置:
cat /var/lib/logrotate.status
评论
只是为了增加您的答案,logrotate的cron条目计划每天运行一次。
– mkc
2014年2月20日在17:12
@Ketan,所以,我如何使其立即受到影响?谢谢
–BufBills
2014年2月20日在17:17
如果您希望它生效,请立即运行cron后记。
–slm♦
2014年2月20日在17:29
logrotate有一个-d选项进行测试(或“调试”),我建议至少运行一次。
–FrustratedWithFormsDesigner
17-2-23在16:52
新的必需的su指令su root syslog是一个非常常见的问题。如果不添加logrotate,则会使logrotate停止。为了使人们感到沮丧,当他们添加该指令并运行(强制)logrotate时,它会继续吐出“错误:跳过” / var / log / syslog”,因为父级目录具有不安全的权限(配置更改后20个小时内,该目录的世界可写或不是“ root” ...”组的用户都可写,就好像设置/进程已被缓存!!如果卡在此处,请在/上使用chgrp var / log到root,运行logrotate,chgrp回到syslog,它将在下次运行时清除
– ppostma1
17年5月24日在16:16