Linux

Cron - 不每 10 分鐘執行一次命令

  • March 18, 2013

我不明白為什麼 cron 沒有真正每 10 分鐘執行一次命令。

crontab -e我添加了:

*/10 * * * * /var/www/myproject/recording/batch.pl

我可以在 cron 日誌中看到它每 10 分鐘執行一次:

Mar 17 10:50:01 host crond[26335]: (root) CMD (/var/www/myproject/recording/batch.pl)
Mar 17 11:00:01 host crond[26357]: (root) CMD (/var/www/myproject/recording/batch.pl)
Mar 17 11:10:01 host crond[26418]: (root) CMD (/var/www/myproject/recording/batch.pl)
Mar 17 11:20:01 host crond[26657]: (root) CMD (/var/www/myproject/recording/batch.pl)

但它並沒有真正執行命令。

當我在 Linux 控制台中手動執行該命令時,它工作正常。

像這樣設置你的crontab怎麼樣

*/10 * * * * /usr/bin/perl /var/www/myproject/recording/batch.pl 2>&1 | tee -a /var/log/myproject-recording-batch.log

然後您可以跟踪日誌文件 /var/log/myproject-recording-batch.log 以跟踪執行

CRON 不會繼承您的所有環境變數。某些軟體必須手動呼叫(即:如果您沒有有效的 $PATH 環境變數,則呼叫ifconfig或不相等)。/sbin/ifconfig

還要確保它是可執行的並且你的 shebang 被正確定義(否則你必須在你的命令前面加上解釋器)。

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