
정보
Debian 10의 루트 사용자를 위한 다음 crontab이 있습니다.
root@debian:~# crontab -l
# crontab comments curtailed for serverfault
#
# m h dom mon dow command
30 3 * * * shutdown -r now
실행하면 uptime
마지막 who -b
으로 수동 재부팅을 수행한 결과(어제 오후 6시경)가 표시됩니다.
root@debian:~# uptime
11:03:19 up 16:29, 1 user, load average: 0.00, 0.01, 0.00
root@debian:~# who -b
system boot 2020-12-26 18:34
어제 오후 7시경에 crontab을 생성했으니 확실히 목표 시간 이전에 설치되어 있었습니다.
질문
이것이 작동하지 않은 이유가 있습니까? 어떤 방식으로든 디버깅할 수 있나요?
답변1
크론 작업이 지정된 시간에 실행되는지 확인하려면 로그를 확인하세요.
Debian cron is login in 에서 /var/log/syslog
cron 작업이 활성화된 경우 보고된 오류가 있는지 확인하세요.
그렇다면 grep cron /var/log/syslog
cron이 재부팅한다고 가정한 시점에 기록된 내용이 있습니까?
또한 cron 서비스가 실행 중인지 확인하십시오. 실행 중이면 systemctl status cron.service
서비스가 활성화되어 활성화되어 있다고 표시됩니다. 크론 작업을 실행하려면 크론 서비스가 실행되고 있어야 합니다.
cron에서 종료 명령을 찾을 수 없는 문제일 수도 있습니다. /usr/sbin/shutdown -r now
cron에서 사용해 보세요.
데비안 12 이상
전통적인 로그 파일systemd-journald
Debian 12에서는 다음으로 대체되었습니다.이므로 더 이상 /var/log/syslog
도구 라인을 사용하여 검색할 수 없습니다 . grep
이는 다른 GNU/Linux 배포판에도 영향을 미칩니다. 하지만 대신 사용할 수도 journalctl
있고 로그를 직접 필터링할 수도 있습니다.
journalctl -u cron