私はcronを使って1日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を実行しています。
答え1
23-5
次に変更する23,0,1,2,3,4,5
か、次のように2行を追加できます。
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
有効な範囲ではないからです。範囲は低い値から高い値までのみ可能です。