Perché l'anacron non funzionerebbe?


9

Ho un sistema Ubuntu con anacron installato. Tuttavia sono abbastanza sicuro che non funziona. Non sta eseguendo i comandi in /etc/cron.daily per ruotare i file syslog (sto usando sysklog, che ha il suo metodo di registro rotante, non usando logrotate). L'ultima volta che i registri sono stati ruotati sono stati nell'ottobre 2009. /var/spool/anacron/cron.dailyEsiste e il contenuto è 20091015. AFAIR allora abbiamo avuto un'interruzione di corrente e tutto è stato riavviato.

Come posso eseguire il debug di anacron? Come posso vedere perché non funziona? Il mio primo istinto è cercare /var/log/anacron, ma non è lì. Come posso ripararlo per farlo funzionare di nuovo?

Risposte:


5

Guarda quanto segue:

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

L'ultima voce su un sistema per me è il 4 novembre 2008.

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

Le voci vanno dal 28 dicembre al 4 gennaio per me.

cat /etc/crontab

Dovresti vedere voci simili a questa per quotidiano, settimanale e mensile:

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

E questo dovrebbe mostrare un mucchio di file:

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

In /etc/cron.dailyho sia logrotate che sysklogd.

E se lo fai:

ps auxww | grep [c]ron

dovresti vedere che il crondemone è in esecuzione.

Se fate:

cat /etc/cron.daily/sysklogd

dovresti vedere alcune righe che finiscono || exit 0- controlla per assicurarti che i file esistano e, per quelli con test -xcui sono eseguibili. Alcuni di loro non fanno per me dato che sto usando logrotate.

Verifica se syslogd è in esecuzione:

ps -C syslogd

Verifica se il savelog esiste ed è eseguibile:

ls -l $(type -p savelog)

Questo è tutto ciò che riesco a pensare al momento.


4
Inoltre ricorda che anacron è essenzialmente solo configurazione per cron, quindi non è un demone
LapTop006

10

Prova a correre:

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

Quella riga dirà se il tuo nuovo script è tra quelli "riconosciuti". Ad esempio, è possibile che lo script abbia un nome errato, che il flag exec sia mancante o problemi di autorizzazione ecc.

Ho scoperto in questo modo che allo strumento run-parts (usato da cron) non piace un suffisso .sh


2

Ho un ubunutu 8.04 vps (w / plesk) con anacron installato, configurato male e non funzionante. apt-get reinstall ha ricreato tutti i file rilevanti.

Dopodiché, tutto quello che dovevo fare era aggiungere una voce al crontab orario per accendere Anacron e farlo fare.

lo script che ho inserito in cron.hourly / era giusto

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

1

Prova a riavviare il servizio, ti dà un errore?


0

Alcuni croni di Linux sono traballanti. Usiamo cfengine per riavviare cron e cron per guardare cfengine per le cose mission-critical. Al giorno d'oggi, nessuno dei due si schianta notevolmente. Non come negli anni '90 quando cron andava in crash ogni giorno :-)


0

Se il nome dello script nella /etc/cron.{daily,weekly,monthly}/cartella contiene un punto, sembra non essere eseguito. Prova a rinominarlo in qualcosa senza un punto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.