Linux
Cron 在特定時間後停止工作
我使用 cron 在白天每 15 分鐘執行一次 python 腳本。在夜間,它應該只每小時執行一次。
我為此做了2個條目:
0 23-5 * * * python /var/www/script.py > /dev/null 2>&1 */15 6-22 * * * python /var/www/script.py >/dev/null 2>&1
白天執行的那個很好用。這是 /var/log/syslog 中該腳本的最後一個條目:
Jan 26 22:45:01 web CRON[20278]: (sysadmin) CMD (python /var/www/script.py > /dev/null 2>&1)
但是在 23:00 之後沒有該腳本的條目。該腳本的下一個條目是:
Jan 27 06:00:01 web CRON[26367]: (sysadmin) CMD (python /var/www/script.py > /dev/null 2>&1)
這就是重新開始的“day-cron”條目。這兩個條目都是在使用者“sysadmin”的同一個 crontab 中創建的。
任何想法這裡的問題是什麼?或者我還能在哪裡尋找線索?
我正在執行 Ubuntu 16.04.1 LTS - 4.4.0-42-generic。
更改
23-5
為,23,0,1,2,3,4,5
或者您可以添加兩行,如下所示:0 23 * * * python /var/www/script.py > /dev/null 2>&1 0 0-5 * * * python /var/www/script.py > /dev/null 2>&1
甚至正如其他人所說(我忘了你可以混搭):
0 23,0-5 * * * python /var/www/script.py > /dev/null 2>&1
之所以?因為
23-5
不是有效範圍。範圍只能從低值到高值。