왜 anacron이 실행되지 않습니까? 실행하지 않습니다 (logrotate를

anacron이 설치된 Ubuntu 시스템이 있습니다. 그러나 나는 그것이 실행되고 있지 않다고 확신합니다. syslog 파일을 회전시키기 위해 /etc/cron.daily에서 명령을 실행하지 않습니다 (logrotate를 사용하지 않고 자체 회전 로그 방법이있는 sysklog를 사용하고 있습니다). 로그가 마지막으로 회전 한 시간은 2009 년 10 월입니다. /var/spool/anacron/cron.daily존재하며 내용은 20091015입니다. AFAIR는 정전이되어 모든 것이 재부팅되었습니다.

anacron을 어떻게 디버깅 할 수 있습니까? 왜 실행되지 않는지 어떻게 알 수 있습니까? 내 첫 번째 본능은을 찾는 /var/log/anacron것이지만 거기에는 없습니다. 다시 실행되도록 수정하려면 어떻게해야합니까?



답변

다음을보십시오 :

zgrep anacron /var/log/cron.log.{9..1}* /var/log/cron.log | less

나를위한 한 시스템의 마지막 항목은 2008 년 11 월 4 일입니다.

zgrep anacron /var/log/syslog.{9..1}* /var/log/syslog | less

출품작은 12 월 28 일부터 1 월 4 일까지입니다.

cat /etc/crontab

매일, 매주 및 매월 이와 비슷한 항목이 표시되어야합니다.

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

그리고 이것은 많은 파일들을 보여줄 것입니다 :

ls -l /etc/cron.{daily,weekly,monthly}

에서 /etc/cron.dailyI logrotate에와 Sysklogd의 모두가 있습니다.

그리고 당신이 할 경우 :

ps auxww | grep [c]ron

cron데몬이 실행 중인지 확인해야합니다 .

당신이 할 경우 :

cat /etc/cron.daily/sysklogd

당신은 끝나는 몇 줄을 보게 될 것입니다 || exit 0-파일이 존재하고 test -x실행 가능한 파일인지 확인하십시오 . 내가 logrotate를 사용하고 있기 때문에 그들 중 일부는 나를 위해하지 않습니다.

syslogd가 실행 중인지 확인하십시오.

ps -C syslogd

savelog가 존재하며 실행 가능한지 확인하십시오.

ls -l $(type -p savelog)

그것이 내가 지금 생각할 수있는 전부입니다.


답변

달리기를 시도하십시오.

sudo run-parts --test /etc/cron.daily

이 줄은 새 스크립트가 “인식 된”스크립트인지를 알려줍니다. 예를 들어 스크립트 이름이 잘못되었거나 exec 플래그가 없거나 퍼미션 문제 등이있을 수 있습니다.

이 방법 으로 cron에서 사용 하는 run-parts 도구가 .sh 접미사를 좋아하지 않는다는 것을 알았습니다.


답변

anacron이 설치되고 잘못 구성되어 실행되지 않는 ubunutu 8.04 vps (w / plesk)가 있습니다. apt-get 재설치는 모든 관련 파일을 다시 작성했습니다.

그 후, 내가해야 할 일은 시간별 crontab에 항목을 추가하여 anacron을 시작하고 작동시키는 것입니다.

내가 cron.hourly /에 넣은 스크립트는

#!bin/bash
/path/to/anacron -s


답변

서비스를 다시 시작하면 오류가 발생합니까?


답변

Linux 크론 중 일부는 색다른 것이 특징입니다. cfengine을 사용하여 cron을 다시 시작하고 cron을 사용하여 cfengine에 미션 크리티컬 한 항목이 있는지 확인합니다. 요즘에는 아무도 눈에 띄게 충돌하지 않습니다. cron이 하루 종일 추락했을 때 90 년대와는 다릅니다 🙂


답변

/etc/cron.{daily,weekly,monthly}/폴더 의 스크립트 이름에 점이 있으며 실행되지 않는 것 같습니다. 점이없는 이름으로 바꾸십시오.


답변