apache 在特定时间的每日 logRotate

apache 在特定时间的每日 logRotate

如何在每天的特定时间(3h30)执行 logRotate?有关如何执行此操作的具体细节将不胜感激。

我在Debian上。

答案1

步骤#1 - 创建脚本

您可以创建一个如下文件:

$ sudo gedit /etc/cron.d/logrotate

并将这些行添加到该文件中:

#!/bin/bash

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

步骤#2 - 将脚本添加到 crontab 文件

然后创建一个 crontab 条目,在每天 3 点 30 分运行此脚本。要执行第二步,请编辑文件/etc/crontab

$ sudo gedit /etc/crontab

并添加这一行:

# m h dom mon dow user  command
30 3 * * *  root    /etc/cron.d/logrotate

笔记:在某些情况下您可能需要省略用户,如下所示:

# m h dom mon dow   command
30 3 * * *      /etc/cron.d/logrotate

步骤#3 - 使脚本可执行

最后使logrotateshell 脚本 ( /etc/cron.d/logrotate) 可执行:

$ sudo chmod +x /etc/cron.d/logrotate

参考

相关内容