Linux

Cron 在特定時間後停止工作

  • January 27, 2017

我使用 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不是有效範圍。範圍只能從低值到高值。

引用自:https://unix.stackexchange.com/questions/340501