D'après ce que je comprends, je peux ajouter des tâches système avec des planifications simples à /etc/cron.hourly/
, /etc/cron.daily/
, etc., ainsi que des tâches système avec des planifications personnalisées à /etc/cron.d/
.
Mais dans un grand service informatique, où plusieurs personnes peuvent s’occuper d’un serveur, le répertoire /etc/cron.d est probablement le meilleur endroit pour installer des crontabs - c’est un point central qui vous permet d’enregistrer les recherches! (CronHowTo)
J'ai créé /etc/cron.d/testing
avec le contenu suivant:
# /etc/cron.d/testing: crontab entries for report generation
Shell=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
15 13 * * 3 root /usr/bin/supervisorctl start reports
00 16 * * 4 root /usr/bin/supervisorctl start reports
Le fichier a les propriétés suivantes:
user@server:/etc/cron.d$ ls -la
total 28
drwxr-xr-x 2 root root 4096 Jul 14 12:57 .
drwxr-xr-x 146 root root 12288 Jul 14 13:48 ..
-rw-r--r-- 1 root root 188 Feb 20 2014 anacron
-rw-r--r-- 1 root root 102 Feb 9 2013 .placeholder
-rwxr--r-- 1 root root 286 Jul 14 13:43 testing
J'ai redémarré la machine à 13 heures jeudi, en espérant qu'elle déclenche un rapport à 13h15. (Le plan était de tester cette invocation, mais aussi de la programmer tous les vendredis à 16 heures.)
Mais rien ne s'est passé. Il n'y a pas d'erreur (ni d'événement) dans /var/log/syslog
ou dans les journaux du superviseur. J'utilise la même commande dans /etc/cron.daily/testing
et cela fonctionne:
#!/bin/sh
/usr/bin/supervisorctl start reports
... et je peux invoquer le travail de superviseur indépendamment. Donc, je ne pense pas que le problème est dans le travail de superviseur, ou dans mon invocation.
Qu'est-ce que je fais mal? (Et où est le problème enregistré?)
Le format utilisé pour le fichier crontab /etc/cron.d/testing
est correct. (Il devrait être, il a été copié à partir de /etc/cron.d/anacron
)
Le problème était que je l'avais modifié à partir de Windows et que je perturbais probablement les fins de ligne. J'ai re-cloné anacron
, je l'ai édité sur Ubuntu et tout a fonctionné.
(Je ne sais toujours pas où le message d'erreur, s'il y en a un, a été enregistré.)