如何在每天的特定时间(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 - 使脚本可执行
最后使logrotate
shell 脚本 ( /etc/cron.d/logrotate
) 可执行:
$ sudo chmod +x /etc/cron.d/logrotate