首先我用的是CentOS
[root@a etc]# cat system-release
CentOS release 6.5 (Final)
[root@a cron.daily]# ps -ef | grep cron
root 982 1 0 Jun14 ? 00:01:15 crond
root 5692 5441 0 00:49 pts/0 00:00:00 grep cron
[root@a cron.daily]#
我的资源即将耗尽,所以我想删除旧的日志文件。在这种情况下,我想删除大小几乎超过 100MB 的旧安全日志,所以我为root
用户提供了以下 crontab 条目。
[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#
几天后,我开始知道这个 crontab 条目不起作用,但我仍然看到旧文件。
[root@a log]# find /var/log -name "secure-*"
/var/log/secure-20141214
/var/log/secure-20141107
/var/log/secure-20141130
/var/log/secure-20141221
[root@a log]#
后来我尝试在 /etc/crontab.daily 目录下搜索 crontab 日志,但没有找到任何相关结果。在哪里可以找到 crontab 日志以及如何知道 crontab 是否运行成功?
答案1
/var/log/cron
CentOS 6 上的 Cron 日志默认位于。这只记录命令的执行,而不记录结果或退出状态。所执行命令的输出默认发送到用户的邮件(在本例中为 root 的邮件)。备用电子邮件可以通过 crontab 内的 MAILTO 变量指定。
您应该查看调整logrotate
规则,而不是自定义规则cron
,它已经处理了 /var/log/secure 日志的删除。