*/5 * * * *我的命令为什么这个cron条目执行两次?
此入口有效,但每5分钟它会执行两次,为什么?
在/ var /日志/ cron的它表明:
06月16 22时20分01秒的试验的crond [12512]:(根)CMD(我的命令)
06月16 22时20分01秒的试验的crond [12516] :(根)CMD(我的命令)
所以它不是两个人。
它只用crontab输入一次-e -u root
该命令是一个php命令。
*/5 * * * *我的命令为什么这个cron条目执行两次?
此入口有效,但每5分钟它会执行两次,为什么?
在/ var /日志/ cron的它表明:
06月16 22时20分01秒的试验的crond [12512]:(根)CMD(我的命令)
06月16 22时20分01秒的试验的crond [12516] :(根)CMD(我的命令)
所以它不是两个人。
它只用crontab输入一次-e -u root
该命令是一个php命令。
描述中没有任何内容给出它被执行两次的理由。在别处看看。
如果它是您正在执行的shell脚本,请将whoami
和date
附加到日志文件中。你应该能够挖掘原因。
键入ps -A,确保crond没有运行两次。
请查看更新后的问题 – erotsppa 2009-06-17 02:23:18
你没有回答:它是否自称?它是否在动作条件下重复? – 2009-06-17 02:26:40
查看更新回答:) – 2009-06-17 02:26:42
肯定不是导致它运行两次的crontab条目。找出发生的最快方法是在cron作业脚本中添加一些调试。如果你什么都不做,那么在默认情况下cron的输出将被邮寄给[email protected]
(除非你已经配置这是不同的),所以假设你有root权限,添加一些调试信息的脚本,如:
echo "Script starting"
date
whoami
并查看输出。这会让你开始了解如何调用两次。
如果它是针对您安装的应用程序的命令,可能它已将相同的条目添加到/etc/crontab
或/etc/cron.d/<something>
。
它看起来像你有两个crond的的运行,一个具有PID 12512和一个与PID 12516.
我确认 - 我的cron也运行两次...
Jul 24 14:40:01 localhost cron[2713]: (root) CMD (/etc/apache2/generator/reloader.do)
Jul 24 14:41:01 localhost cron[9481]: (root) CMD (/etc/apache2/generator/reloader.do)
Jul 24 14:41:01 localhost cron[10724]: (root) CMD (/etc/apache2/generator/reloader.do)
Jul 24 14:42:01 localhost cron[20380]: (root) CMD (/etc/apache2/generator/reloader.do)
Jul 24 14:42:01 localhost cron[20832]: (root) CMD (/etc/apache2/generator/reloader.do)
我的crontab
的grep -R的/ var /阀芯/ -e的reloader
/var/spool/cron/crontabs/root:* * * * * /etc/apache2/generator/reloader.do
输出:
whoami
date
------
输出:
root
root
Tue Jul 24 14:46:02 CEST 2012
---------
Tue Jul 24 14:46:03 CEST 2012
---------
我目前的解决方法是:
if [ -f /etc/apache2/generator/reloader.lock ]
then
exit
fi
touch /etc/apache2/generator/reloader.lock
/etc/apache2/generator/reloader
rm /etc/apache2/generator/reloader.lock
但是这不是问题的答案,为什么这是发生...
系统 - 巴布亚 克龙 - 了vixie-cron的
ps aux wwf
输出的部分(内侧的cron共进午餐任务)
root 10843 0.0 0.0 16480 560 ? Ss Jun06 0:01 /usr/sbin/cron
root 29797 0.0 0.0 25020 964 ? S 15:08 0:00 \_ /usr/sbin/cron
root 29799 0.0 0.0 9188 1228 ? Ss 15:08 0:00 \_ /bin/bash /etc/apache2/generator/reloader
root 29822 0.0 0.0 14800 988 ? R 15:08 0:00 \_ ps aux wwf
------
root 8215 0.0 0.0 16480 836 ? Ss 14:23 0:00 /usr/sbin/cron
root 31419 0.0 0.0 25020 968 ? S 15:08 0:00 \_ /usr/sbin/cron
root 31423 0.0 0.0 9188 1228 ? Ss 15:08 0:00 \_ /bin/bash /etc/apache2/generator/reloader
root 31431 0.0 0.0 14804 1004 ? R 15:08 0:00 \_ ps aux wwf
编辑:
我也注意到,该cron进程报告Jun06开始日期(今天是Jun24)
root 10843 0.0 0.0 16480 560 ? Ss Jun06 0:01 /usr/sbin/cron
root 8215 0.0 0.0 16480 836 ? Ss 14:23 0:00 /usr/sbin/cron
正确第二个进程报告之一(服务器uprime是〜40分钟 - 我没有recenty重新启动它) 一个重要信息 - 它是在主机上运行的V-server。
无论我做什么(/etc/init.d/vixie-cron重新启动)它开始的具有相同PID
解决:
我找到了原因。 一个V服务器运行两次,具有不同的上下文。 可能的解释 - 有人已经改变,而机器运行的背景下,作为一个结果,而不是所有过程被打死,什么; S - 他们没有影响虚拟服务器(上下文303和3031)的新实例:
root 10843 3031 developer 0.0 0.0 16480 560 ? Ss Jun06 0:01 /usr/sbin/cron
root 16509 303 developer 0.0 0.0 16480 836 ? Ss 15:18 0:00 /usr/sbin/cron
我TERM旧的过程,问题解决了。
我使用OpenWrt。
我有同样的问题,但我只有一个cron: ps | grep crond:
31447 root 1508 S /usr/sbin/crond -c /etc/crontabs -l 8
31454 root 1500 S sh -c ps | grep crond
31456 root 1496 S grep crond
logread | grep cron
May 27 13:15:01 decibox cron.info crond[31447]: crond: USER root pid 1594 cmd /root/check_connect.php.sh
May 27 13:20:01 decibox cron.info crond[31447]: crond: USER root pid 2103 cmd /root/check_connect.php.sh
May 27 13:20:01 decibox cron.info crond[31447]: crond: USER root pid 2325 cmd /root/check_connect.php.sh
May 27 13:25:01 decibox cron.info crond[31447]: crond: USER root pid 2880 cmd /root/check_connect.php.sh
crontab中的wget通常有15分钟的限制。在我们的情况下,情况就是这样,在这15分钟之后,工作结束并超时,然后再次重新运行。因此,解决方案是在crontab中设置cronjob,有点像这样:
1 2 * * * root wget --read-timeout=3600 -O - 'http://cron-job-url' >/dev/null 2>&1
...而不是
1 2 * * * root wget -O - 'http://cron-job-url' >/dev/null 2>&1
所以,wget是事情。含义3600 = 1小时。或更多,如果你需要!
我曾经有同样的问题,在我的情况是我错误地初始化了两次cron服务。在我停止cron # /etc/init.d/crond stop
并且再次启动它# /etc/init.d/crond start
后,它完美运行。
我希望这可以帮助任何人。
[为什么我的cron作业执行多次?]的可能的复制(https://stackoverflow.com/questions/24012666/why-my-cron-job-executing-multiple-times) – 2017-12-02 18:37:01