Puis-je changer le destinataire par défaut des tâches cron?

Je crois que s'il y a une sortie d'un cronjob, il est envoyé à l'user à qui appartient le travail. Je pense que vous pouvez également append quelque chose comme [email protected] en haut du file 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 plutôt qu'à l'user qui les exécute? (c'est-à-dire que je n'ai pas à le configurer dans le file cron de chaque user)

Vérifiez le file /etc/crontab et définissez MAILTO=root ici. Peut aussi avoir besoin du file /etc/rc

crond semble accepter la variable MAILTO, je suppose que je ne suis pas sûr complètement mais ça vaut la peine d'essayer de changer la variable d'environnement pour crond avant qu'elle ne soit démarrée. Comme dans le script /etc/sysconfig/crond ou /etc/rc.d/init.d/crond qui source le file précédent.

Exemple:

 [centos@centos scripts]$ ssortingngs /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 

Mettez MAILTO=root dans /etc/default/cron . Ce file contient les parameters par défaut de cron.

man 5 crontab dit,

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

Refer: http://man.cx/cron(1)#heading4