Pourquoi anacron ne fonctionnerait-il pas?

9

J'ai un système Ubuntu sur lequel anacron est installé. Cependant, je suis presque sûr qu'il ne fonctionne pas. Il n'exécute pas les commandes dans /etc/cron.daily pour faire pivoter les fichiers syslog (j'utilise sysklog, qui a sa propre méthode de journalisation tournante, et non pas logrotate). La dernière rotation des journaux a eu lieu en octobre 2009. /var/spool/anacron/cron.dailyexiste et le contenu est 20091015. AFAIR nous avons alors eu une panne de courant, et tout a redémarré.

Comment puis-je déboguer anacron? Comment puis-je voir pourquoi il ne fonctionne pas? Mon premier instinct est de chercher /var/log/anacron, mais ce n'est pas là. Comment puis-je le réparer pour le faire fonctionner à nouveau?

Rory
la source

Réponses:

5

Regardez ce qui suit:

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

La dernière entrée sur un système pour moi est le 4 novembre 2008.

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

Les entrées vont du 28 décembre au 4 janvier pour moi.

cat /etc/crontab

Vous devriez voir des entrées similaires à ceci pour le quotidien, la semaine et le mois:

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

Et cela devrait montrer un tas de fichiers:

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

Dans /etc/cron.dailyj'ai à la fois logrotate et sysklogd.

Et si vous le faites:

ps auxww | grep [c]ron

vous devriez voir que le crondémon est en cours d'exécution.

Si tu fais:

cat /etc/cron.daily/sysklogd

vous devriez voir quelques lignes se terminer par || exit 0- vérifiez que les fichiers existent et, pour ceux avec test -xlesquels ils sont exécutables. Certains d'entre eux ne me conviennent pas puisque j'utilise logrotate.

Vérifiez si syslogd est en cours d'exécution:

ps -C syslogd

Vérifiez si le journal de sauvegarde existe et est exécutable:

ls -l $(type -p savelog)

C'est tout ce à quoi je peux penser en ce moment.

En pause jusqu'à nouvel ordre.
la source
4
De plus, rappelez-vous que anacron est essentiellement une configuration pour cron, donc ce n'est pas un démon
LapTop006
10

Essayez de courir:

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

Cette ligne vous dira si votre nouveau script est parmi ceux "reconnus". Par exemple, il se peut que le script ait un nom erroné, un indicateur d'exécution soit manquant ou des problèmes d'autorisation, etc.

J'ai découvert de cette façon que l' outil run-parts (utilisé par cron) n'aime pas le suffixe .sh

kjetildm
la source
2

J'ai un ubunutu 8.04 vps (avec plesk) sur lequel anacron était installé, mal configuré et ne fonctionnait pas. apt-get uninstall a recréé tous les fichiers pertinents.

Après quoi, tout ce que j'avais à faire était d'ajouter une entrée à la crontab horaire pour allumer l'anacron et le faire faire son travail.

le script que j'ai mis dans cron.hourly / était juste

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

la source
1

Essayez de redémarrer le service, cela vous donne-t-il une erreur?

ptman
la source
0

Certains des crons Linux sont floconneux. Nous utilisons cfengine pour redémarrer cron, et cron pour regarder cfengine pour les tâches critiques. De nos jours, ni l'un ni l'autre ne tombe en panne de façon notable. Pas comme dans les années 90 quand cron plantait tous les jours :-)

SAnnukka
la source
0

Si le nom du script dans le /etc/cron.{daily,weekly,monthly}/dossier contient un point, il semble ne pas s'exécuter. Essayez de le renommer en quelque chose sans point.

Weishaupt
la source