필자가 데비안 6 서버에서 /etc/cron.weekly에 배치 한 백업 스크립트가 실행되지 않는 것을 발견했을 때 주간 크론 작업이 전혀 실행되는지 확인하기 위해이 작은 스크립트를 배치했습니다.
#!/bin/bash
echo 'CRON RAN' > /var/log/cron-weekly-runcheck.log
로 저장
-rwxr-xr-x 1 root root 64 Jul 15 02:14 /etc/cron.weekly/runcheck.sh
오늘 확인했을 때 생성하려는 로그 파일이 존재하지 않았습니다.
crontab은 다음과 같습니다 (내 지식으로는 기본 debian6 crontab이어야 함).
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 1 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
모든 로그 파일에 매주 cronjob으로 표시되는 모든 것은 다음 줄입니다.
Jul 16 06:47:01 wtwrp /USR/SBIN/CRON[29272]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))
참고 사항 : cron.daily
logrotate 작동 이후 작동하는 것 같습니다. cron.hourly
스크립트가 없습니다.
무엇이 잘못 될 수 있는지에 대한 아이디어가 있습니까?
답변
cron.weekly
스크립트에 의해 시작되는 run-parts
확장자를 가진 모든 파일을 생략한다. 이름 바꾸기 runcheck.sh
에 runcheck
그것은해야
답변
comm1 || comm2 || comm3 || comm4
첫 번째 retval = 0이 반환 될 때까지 실행됩니다 (왼쪽에서 오른쪽으로). 나머지 체인 명령은 인터프리터에 의해 최적화되며 전혀 실행되지 않습니다
경우 test -x /usr/sbin/anacron
RETVAL로 반환 제로, 다른 명령이 실행되지 않습니다.