Quelles sont les options disponibles pour obtenir les résultats de cron et comment les configurer ?
-
09-06-2019 - |
Question
Je sais que le comportement par défaut de cron consiste à envoyer une sortie normale et d'erreur à la boîte e-mail locale du propriétaire de cron.
Existe-t-il d'autres moyens d'obtenir ces résultats (par exemple les envoyer par email à un groupe de personnes, les stocker quelque part, etc.) ?
La solution
Vous pouvez transférer la redirection de fichiers vers la commande affichée ou vers la commande réelle dans la crontab pour stdout et stderr - like command > /tmp/log.txt 2>&1
.
Si vous souhaitez que plusieurs utilisateurs reçoivent ce journal, vous pouvez insérer un MAILTO=nameofmailinglist
en haut de votre fichier cron.
Autres conseils
Pour envoyer la sortie par e-mail à une autre adresse e-mail, ajoutez simplement la ligne
MAILTO="user@example.com"
Vers la crontab avant la commande
La ligne cron est comme n'importe quelle autre ligne de commande Unix, vous pouvez donc rediriger la sortie vers un autre programme.C'est à dire.
* * * * * /path/my/command > /my/email/script 2&>1
Cela peut être un ajout inutile, mais pour qualifier les commandes de redirection :
> redirige la sortie standard
2 est un terme spécifique au Bourne Shell qui signifie erreur standard
1 est un terme spécifique au Bourne Shell qui signifie sortie standard
2>&1 signifie rediriger l'erreur standard vers la sortie standard
Voir également l'article utile suivant Redirection d'entrée et de sortie standard
D'après ce que je vois, vous avez trois options :
- Redirigez la sortie :soit vers un fichier, soit vers un programme qui enverra par courrier électronique les résultats comme vous le souhaitez
- Utilisez MAILTO dans cron et redirigez l'e-mail vers n'importe quelle autre adresse unique pour toutes vos tâches cron.
- Effectuez la redirection dans votre serveur de messagerie ou client, après que cron l'ait envoyé.