Linux

Cron 作業執行兩次 - Ubuntu 伺服器 12.04

  • January 5, 2017

我有幾個在 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/crontabor的內容crontab -l -u root嗎?這是兩個截然不同的東西。

如果兩者都是,那麼你是在告訴它在一個地方執行這些東西,然後在另一個地方執行,所以兩次。您可能想從 root 的 crontab 中將其全部刪除。

引用自:https://serverfault.com/questions/461730