질문
오전 1시 32분에 실행하고 싶은 스크립트가 있어서 cronjob을 설정했습니다.
$ crontab -e
내가 가지고 있는 편집 파일에는
32 1 * * * /home/user/.scripts/midnightjobs
여기서 "user"는 내 사용자 이름입니다. 그러나 이것은 작동하지 않았습니다.
내가 시도한 것
무엇이 잘못되었는지 확인하기 위해 스크립트에 로깅 기능을 추가해 보았습니다. 스크립트가 실행되지 않는 것 같습니다.
또한 오전 7시 59분에 또 다른 cronjob을 추가해 보았습니다.
0 8 * * * /home/user/.scripts/midnightjobs
효과가있다! 스크립트가 실행되어 오전 8시에 로그 파일을 출력했습니다.
내 생각엔
나는 매우 주의를 기울였다고 생각합니다... 두 번째 시도에 따르면 내 노트북(archlinux에서 실행)이 밤에 잠자기 상태에 빠져 cronjob을 실행할 수 없다는 것이 최선의 추측입니다.
답변1
몇 가지 조언:
로그( 또는
cron
에 있을 수 있음 )를 확인하여 스크립트가 실행 중인지 확인하세요./var/log/syslog
/var/log/messages
스크립트가 실행 가능한지 확인하세요
수동으로 실행할 때 스크립트가 올바르게 실행되는지 확인하세요.
스크립트를 실행하면 환경이 다르기
cron
때문에 경로와 같은 것이 달라져 스크립트에 오류가 발생할 수 있습니다.> /tmp/cron.output.log
줄 끝에 추가하면crontab
볼 수 있는 파일에 스크립트 출력을 기록합니다. 파일이 있으면 스크립트가 실행됩니다.
답변2
MAILTO=""
:를 crontab 시작 부분에 넣지 않으면 (PC가 부팅된 경우) 스크립트를 실행할 때마다 user@에게 메일을 보내야 합니다.