为什么 cron 运行两次?

为什么 cron 运行两次?

我想使用 cron 自动执行我的 PHP 邮件脚本。但我总是收到两次邮件。手动启动时,脚本运行良好。

我将其放入 crontab 中进行测试:

54 13 * * * echo "This is a test" >> /opt/test.txt

,它将这行内容两次打印到文件中。

/var/log/messages 的内容如下:

Mar  3 13:54:01 server1 crontab[22076]: (root) BEGIN EDIT (root)
Mar  3 13:54:01 server1 /usr/sbin/cron[2268]: (root) RELOAD (/var/spool/cron/tabs/root)
Mar  3 13:54:01 server1 cron[19402]: (root) RELOAD (/var/spool/cron/tabs/root)
Mar  3 13:54:01 server1 /USR/SBIN/CRON[22085]: (root) CMD (echo "This is a test" >> /opt/test.txt)
Mar  3 13:54:01 server1 CRON[22086]: (root) CMD (echo "This is a test" >> /opt/test.txt)

另外,ps aux |grep cron让我得到这个:

root      2268  0.0  0.0   3168   712 ?        Ss   Jan24   0:55 /usr/sbin/cron
root     19402  0.0  0.0   3452   720 ?        Ss   Feb12   0:27 cron
root     22538  0.0  0.0   2504   504 pts/0    S+   14:06   0:00 grep cron

服务器的操作系统是 openSUSE 11.4

干杯!

答案1

看起来有两个 cron 实例正在运行:

  • 第一个 (pid 2268),在系统启动时启动(Jan24)
  • 第二个 (pid 19402),可能是稍后(2 月 12 日)手动启动的

您很可能可以杀死第二个实例。

相关内容