Il existe quelques techniques que vous pouvez utiliser pour surveiller les tâches cron.
Pour recevoir des alertes d'échecs de cronjob:
- Utilisez la fonction standard MAILTO = de cron. Si un cronjob produit une sortie sur STDERR, il sera envoyé à l'adresse de votre choix.
- Pour suivre et traiter les e-mails cron, vous pouvez les diriger vers un système de ticket.
Le système que vous proposez de consigner des informations dans un endroit "sensible au réseau" ressemble à syslog . syslog fournit une méthode simple pour créer des journaux, il gère normalement des fichiers tels que / var / log / messages. Vous pouvez effectuer des personnalisations de base, comme choisir les fichiers qui recevront les messages de journal.
Syslog peut être démarré dans un mode compatible réseau. Par exemple, vous pouvez le configurer pour qu'un esclave puisse se connecter à un maître:
[root@slave ~]# echo "hello world from slave" | logger -p local1.info
[root@master ~]# tail /var/log/myapp
Jun 29 13:07:01 192.168.1.2 logger: hello world from slave
Pour une distribution basée sur Red Hat, un exemple de configuration est le suivant:
[root@slave ~]# cat /etc/syslog.conf | grep local1
local1.* @192.168.1.3
[root@master ~]# cat /etc/sysconfig/syslog | grep SYSLOGD_OPTIONS
SYSLOGD_OPTIONS="-m 0 -r"
[root@master ~]# cat /etc/syslog.conf | grep local
local1.* /var/log/myapp
(La première ligne de configuration redirige les notifications de journal local1. * Vers @ 192.168.1.3 ("master"). Le deuxième indicateur -r de la ligne SYSLOGD_OPIONS active la prise en charge du réseau. Enfin, la troisième ligne de configuration dirige les messages local1. * Reçus sur "master" dans un fichier).
L'approche syslog est meilleure uniquement pour les erreurs / informations de journalisation. Les fichiers journaux ont moins de visibilité que les e-mails, vous ne pourrez donc probablement pas consulter les journaux à moins que quelque chose se soit mal passé.
Si vous choisissez de suivre la route de style syslog, pensez également à syslog-ng: http://freshmeat.net/projects/syslog-ng/ .
Bien sûr, vous pouvez tirer le meilleur parti des deux techniques en utilisant les deux. Par exemple, syslog, à la fois les échecs et les succès, et juste l'envoi de messages d'échecs.