저는 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을 실행하고 있습니다.
답변1
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
유효한 범위가 아니기 때문입니다 . 범위는 낮은 값부터 높은 값까지만 가능합니다.