Cron 作业运行两次 - Ubuntu 服务器 12.04

Cron 作业运行两次 - Ubuntu 服务器 12.04

我在 root 下运行了几个简单的 cron 作业。但是,它们似乎运行了两次,我不知道为什么。没有其他用户运行任何 cron 作业,唯一的 cronfile 是针对 root 的。作业完成得很好,但运行了两次。

这是根 crontab 文件:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * cd / && run-parts --report /etc/cron.hourly
25 6 * * * test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0,30 * * * * sh /scripts/amsbackup.sh 
0,15,30,45 * * * * sh /scripts/dbbackup.sh
#

我确实通过退出检查了 cron 是否运行了两次,ps aux |grep cron这里的输出表明确实有两个进程:

root      9822  0.0  0.0   2620   892 ?        Ss   Dec24   0:01 cron
root     19146  0.0  0.0   3904   788 pts/1    S+   21:27   0:00 grep --color=auto cron

那么到底发生了什么事?我该如何预防?

感谢您的任何帮助。

答案1

首先,你得出有两个cron进程的结论是错误的。你的输出结果中有两个cron进程grep

接下来,您说引用的文件位于您的根 crontab 中。您引用的内容表明它位于 中。那么,这是或/etc/crontab的内容吗?这是两个截然不同的东西。/etc/crontabcrontab -l -u root

如果是两者,那么你就是告诉它在一个地方运行这些内容,然后在另一个地方运行,所以两次。你可能想从 root 的 crontab 中删除所有内容。

相关内容