Je préfère coller les tâches planifiées dans / etc / crontab afin de pouvoir visualiser d'un coup d'œil ce qui doit être exécuté, quel que soit l'utilisateur sous lequel la tâche est exécutée.
Le seul inconvénient, c'est que le format n'est pas validé lors de la sauvegarde, contrairement à crontab -e. Ainsi, un personnage errant peut discrètement briser le cron.
Existe-t-il un moyen de valider le format / etc / crontab avant / après l'enregistrement?
Réponses:
Le seul moyen fiable que j'ai trouvé est de consulter le journal.
cron
vérifie/etc/crontab
toutes les minutes et enregistre un message indiquant qu'il l'a rechargée ou qu'il a détecté une erreur.Donc, après l'édition, lancez ceci:
Ou, pour ne pas attendre une minute complète, mais seulement jusqu'à la minute suivante + 5 secondes:
Exemple de sortie avec une erreur:
Bon rendement:
C'est sur Debian 8. Sur d'autres systèmes, cron peut se connecter dans un fichier différent.
(Je pensais pouvoir éviter de rechercher le bon fichier journal en utilisant systemd
journalctl -u cron
, mais cela ne m'a pas montré ces entrées de journal et semble en fait avoir arrêté de consigner les événements cron il y a 2 jours pour une raison quelconque)la source
Une autre solution plus récente est le script python chkcrontab
la source
Les scripts Wicked Cool ont un script qui valide les fichiers crontab.
Vous pouvez obtenir l'archive zip contenant le script ici
Le script s'appelle verifycron
la source
J'ai trouvé cette solution intéressante ici: https://crontab.guru
Elle ne fait pas que valider la crontab, elle vous indique explicitement quoi et quand la crontab sera exécutée et met en évidence les erreurs.
la source
Sur Ubuntu, il semble que je puisse simplement exécuter:
NOTE: cela a pour effet secondaire de démarrer ce travail cron (merci @NZD)
Si le fichier n'est pas valide, je commettrai une erreur, telle que:
la source
* 4/0 * * /bin/myscript.sh
- le4/0
est invalide. mais n'est pas attrapé par cette méthode0
interdite? unix.stackexchange.com/questions/32027/…