Cronjob logrotate没有执行

问题描述 投票:0回答:1

我试图每天执行logrotate。到目前为止,我尝试将它放在cron.daily中:

/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

我的logrotate.conf包含:

/var/lib/mysql/queries.log {
         size 1k
         copytruncate
         rotate 4
}

当我尝试执行logrotate -f /etc/logrotatetest.conf时,它的工作原理。但是每日的cron没有执行。所以我创建一个包含上述代码的SH文件,然后由cronjob执行:* * * * * /home/rotate.sh 2>/home/rotate.log 1>&2 我做* * * * *进行测试,但它不起作用。

rotate.sh包含:logrotate -f /etc/logrotate.conf

我不知道为什么它不是由cronjob执行:(

PS。日志文件SH文件和logrotate.conf具有“777”访问权限。

linux logging cron logrotate
1个回答
0
投票

你怎么问这个问题可能就是为什么你没有得到更多回应。

首先,您描述的/etc/cron.daily/logrotate脚本是默认的logrotate旋转脚本,它应该在安装logrotate时已存在。为什么你不得不把它放在那里,我不知道,但这听起来像你的logrotate或cron没有正确设置。这个文件可执行吗?日志和conf上的可执行位并不重要,它们内部没有可执行代码。

其次,/ etc / logrotate.conf应该是logrotate的基本模式,在该文件中的“include”参数指定的任何其他目录之前要解析的“default”(此处可能还有其他特定日志的模式) ,也)。如果您没有正确设置此文件,则无法使用logrotate的基本架构。您需要向我们展示该文件的完整内容。您是否尝试使用-d标志调试logrotate的执行?

三,什么是/etc/logrotatetest.conf?你提到它一次,不说它是什么,并说它有效。我们怎么知道它的一切?发布或描述与原始.conf文件相关的内容。

第四,你是如何使用cronjobs的?涉及到anacron吗?您直接将问题与cron联系起来,但后来没有告诉我们您如何设置cron。

如果你想对这个问题有一个认真的答案,我会回去做一些编辑,因为在这一点上,人们可以帮助在这里建立起来很少。

© www.soinside.com 2019 - 2024. All rights reserved.