Linux
Cron - 不每 10 分鐘執行一次命令
我不明白為什麼 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 被正確定義(否則你必須在你的命令前面加上解釋器)。