Linux
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
那麼發生了什麼,我該如何預防呢?
感謝您的任何幫助。
首先,您關於有兩個
cron
過程的結論是錯誤的。你的輸出中有一個cron
和一個grep
。接下來,您說引用的文件在您的根 crontab 中。你引用的內容說它在
/etc/crontab
. 那麼,這是/etc/crontab
or的內容crontab -l -u root
嗎?這是兩個截然不同的東西。如果兩者都是,那麼你是在告訴它在一個地方執行這些東西,然後在另一個地方執行,所以兩次。您可能想從 root 的 crontab 中將其全部刪除。