我想使用 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 日)手动启动的
您很可能可以杀死第二个实例。