*/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