在 CentOS 中哪里可以找到 Crontab 日志

Pri*_*ime 53 cron logs centos etc

首先我使用的是 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]#
Run Code Online (Sandbox Code Playgroud)

我的资源用完了,所以我想删除旧的日志文件。在这种情况下,我想删除大小几乎超过 100MB 的旧安全日志,所以我为root用户提供了以下 crontab 条目.

[root@a etc]# crontab -l
0 1 * * * find /var/log -name "secure-*" -mtime +5 -exec rm {} \;
[root@a etc]#
Run Code Online (Sandbox Code Playgroud)

几天后我才知道这个 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]#
Run Code Online (Sandbox Code Playgroud)

后来我尝试在 /etc/crontab.daily 目录下搜索 crontab 日志,但没有找到任何相关结果。在哪里可以找到 crontab 日志以及如何知道 crontab 是否成功运行?

jor*_*anm 80

CentOS 6 上的 Cron 日志/var/log/cron默认位于。这仅记录命令的执行,而不记录结果或退出状态。默认情况下,执行命令的输出会发送到用户的邮件(在这种情况下是 root 的邮件)。可以通过 crontab 中的 MAILTO 变量指定备用电子邮件。

您应该查看调整logrotate规则,而不是您的 custom cron,它已经处理了 /var/log/secure 日志的删除。

  • 您可以使用 `run-parts` http://stackoverflow.com/questions/4984725/how-to-test-cron-job 来测试 cron 并检查 `/var/spool/mail/(user)` 的命令输出http://superuser.com/questions/306163/what-is-the-you-have-new-mail-message-in-linux-unix (5认同)