Dlaczego anakron nie miałby działać?

9

Mam system Ubuntu z zainstalowanym anacronem. Jestem jednak pewien, że to nie działa. Nie uruchamia poleceń w /etc/cron.daily, aby obracać pliki syslog (używam sysklog, który ma swoją własną metodę obracania dziennika, a nie logrotate). Ostatni raz dzienniki zostały obrócone w październiku 2009 roku. /var/spool/anacron/cron.dailyIstnieje i zawartość jest 20091015. AFAIR mieliśmy wtedy awarię zasilania i wszystko zrestartowało się.

Jak mogę debugować anakron? Jak mogę zobaczyć, dlaczego nie działa? Moim pierwszym instynktem jest poszukiwanie /var/log/anacron, ale go tam nie ma. Jak mogę to naprawić, aby znów działało?

Rory
źródło

Odpowiedzi:

5

Spójrz na następujące:

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

Ostatni wpis w jednym systemie dla mnie to 4 listopada 2008 r.

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

Wpisy są dla mnie od 28 grudnia do 4 stycznia.

cat /etc/crontab

Powinieneś zobaczyć wpisy podobne do tego dla dnia, tygodnia i miesiąca:

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

Powinno to pokazać kilka plików:

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

W /etc/cron.dailymam zarówno logrotate, jak i sysklogd.

A jeśli to zrobisz:

ps auxww | grep [c]ron

powinieneś zobaczyć, że crondemon działa.

Jeśli zrobisz:

cat /etc/cron.daily/sysklogd

powinieneś zobaczyć kilka wierszy, które kończą się na || exit 0- sprawdź, aby upewnić się, że pliki istnieją, a dla tych, test -xktóre je wykonują. Niektóre z nich nie są dla mnie, ponieważ używam Logrotate.

Sprawdź, czy syslogd działa:

ps -C syslogd

Sprawdź, czy savelog istnieje i jest wykonywalny:

ls -l $(type -p savelog)

To wszystko, o czym mogę teraz myśleć.

Wstrzymano do odwołania.
źródło
4
Dodatkowo pamiętaj, że anacron jest w zasadzie tylko konfiguracją dla crona, więc nie jest demonem
LapTop006
10

Spróbuj uruchomić:

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

Ta linia powie, czy Twój nowy skrypt należy do „rozpoznanych”. Może to na przykład oznaczać, że skrypt ma niewłaściwą nazwę, brak flagi exec lub problemy z uprawnieniami itp.

Dowiedziałem się w ten sposób, że narzędzie części roboczych (używane przez cron) nie lubi sufiksu .sh

kjetildm
źródło
2

Mam Ubunutu 8.04 VPS (w / plesk), który miał zainstalowany anacron, źle skonfigurowany i nie działa. Ponowna instalacja apt-get odtworzyła wszystkie odpowiednie pliki.

Następnie wszystko, co musiałem zrobić, to dodać wpis do cogodzinnego crontabu, aby odpalić anakrona i pozwolić mu wykonać swoją pracę.

skrypt, który umieściłem w cron.hourly / was just

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

źródło
1

Spróbuj ponownie uruchomić usługę, czy to powoduje błąd?

ptman
źródło
0

Niektóre crony Linuksa są niestabilne. Używamy cfengine do restartowania crona i cron do oglądania cfengine pod kątem krytycznych zadań. W dzisiejszych czasach żaden z nich jednak nie ulega awarii. Nie tak jak w latach 90., kiedy cron codziennie się rozbijał :-)

SAnnukka
źródło
0

Jeśli nazwa skryptu w /etc/cron.{daily,weekly,monthly}/folderze ma kropkę, wydaje się, że się nie wykonuje. Spróbuj zmienić nazwę na coś bez kropki.

Weishaupt
źródło