질문

질문

질문

오전 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

몇 가지 조언:

  1. 로그( 또는 cron에 있을 수 있음 )를 확인하여 스크립트가 실행 중인지 확인하세요./var/log/syslog/var/log/messages

  2. 스크립트가 실행 가능한지 확인하세요

  3. 수동으로 실행할 때 스크립트가 올바르게 실행되는지 확인하세요.

  4. 스크립트를 실행하면 환경이 다르기 cron때문에 경로와 같은 것이 달라져 스크립트에 오류가 발생할 수 있습니다.

  5. > /tmp/cron.output.log줄 끝에 추가하면 crontab볼 수 있는 파일에 스크립트 출력을 기록합니다. 파일이 있으면 스크립트가 실행됩니다.

답변2

MAILTO="":를 crontab 시작 부분에 넣지 않으면 (PC가 부팅된 경우) 스크립트를 실행할 때마다 user@에게 메일을 보내야 합니다.

관련 정보