Puis-je modifier le destinataire du courrier par défaut sur les tâches cron?

12

Je crois que s'il y a une sortie d'un cronjob, elle est envoyée à l'utilisateur auquel appartient le travail. Je pense que vous pouvez également ajouter quelque chose comme [email protected]en haut du fichier cron pour changer où la sortie est envoyée.

Puis-je définir une option pour que les tâches cron à l'échelle du système soient envoyées par courrier électronique à la root place de l'utilisateur qui les exécute? (c'est-à-dire pour que je n'aie pas à le définir dans le fichier cron de chaque utilisateur)

cwd
la source

Réponses:

9

Vérifiez le /etc/crontabfichier et installez MAILTO=root-le. Pourrait également avoir besoin dans le /etc/rcdossier

crondsemble accepter la variable MAILTO, je suppose que je ne suis pas complètement sûr, mais cela vaut la peine d'essayer de changer la variable d'environnement pour crond avant de commencer. Comme dans /etc/sysconfig/crondou /etc/rc.d/init.d/crondscript qui source le fichier précédent.

Exemple:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL
Nikhil Mulley
la source
Merci beaucoup! +1. Peut-être mettre la partie inférieure de votre réponse dans un format préformat / code?
cwd
7

Mettre MAILTO=rooten /etc/default/cron. Ce fichier contient les paramètres par défaut de cron.

man 5 crontab dit,

Si MAILTO est défini (et non vide), le courrier est envoyé à l'utilisateur ainsi nommé.

Référez-vous: http://man.cx/cron(1)#heading4

Sachin Divekar
la source
où? pour le fichier crontab de chaque utilisateur?
Nikhil Mulley
@Nikhil vérifier ma réponse mise à jour.
Sachin Divekar
1
il ne fonctionne que pour les utilisateurs dont le crontab l'a. Cela fonctionnera-t-il si l'un des utilisateurs n'a pas cette variable définie? Je pense que @Cwd a demandé spécifiquement un paramètre global pour tous les utilisateurs.
Nikhil Mulley
@SachinDivekar -1 Nikhil a raison. Vous avez également modifié ma question et changé sa signification. La signification modifiée correspond à votre réponse, mais ce n'est pas ce que je demandais.
cwd
2
Cela ne fonctionne pas pour moi. J'ai mis le MAILTO dans le fichier par défaut et redémarré le service cron, mais il envoie toujours à la racine (j'essaie d'envoyer à une adresse e-mail externe)
peedee