Posso cambiare il destinatario di posta predefinito sui lavori cron?


12

Credo che se esiste un output da un cronjob, questo viene inviato all'utente a cui appartiene il lavoro. Penso che puoi anche aggiungere qualcosa di simile MAILTO=vivek@nixcraft.innella parte superiore del file cron per modificare la destinazione dell'output.

Posso impostare un'opzione in modo che i lavori cron a livello di sistema vengano inviati tramite e-mail root anziché all'utente che li esegue? (vale a dire che non devo impostarlo nel file cron di ciascun utente)

Risposte:


9

Controlla il /etc/crontabfile e impostalo MAILTO=rootqui. Potrebbe anche essere necessario nel /etc/rcfile

crondsembra accettare la variabile MAILTO, suppongo di non essere completamente sicuro, ma vale la pena provare a cambiare la variabile di ambiente per crond prima che venga avviata. Come in /etc/sysconfig/crondo /etc/rc.d/init.d/crondscript che genera il file precedente.

Esempio:

[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

Grazie mille! +1. Forse metti la parte inferiore della tua risposta in un formato preformato / codice?
Cwd

7

Metti MAILTO=rootdentro /etc/default/cron. Questo file contiene le impostazioni predefinite di cron.

man 5 crontab dice,

Se MAILTO è definito (e non vuoto), la posta viene inviata all'utente così chiamato.

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


dove? per ogni file crontab di ogni utente?
Nikhil Mulley,

@Nikhil controlla la mia risposta aggiornata.
Sachin Divekar,

1
funziona solo per gli utenti di cui crontab lo possiede. Funzionerà se qualcuno degli utenti non ha impostato questa variabile? Penso che @Cwd abbia chiesto specificatamente un'impostazione globale per tutti gli utenti.
Nikhil Mulley,

@SachinDivekar -1 Nikhil ha ragione. Inoltre hai modificato la mia domanda e ne hai cambiato il significato. Il significato modificato si allinea alla tua risposta, ma non è quello che stavo chiedendo.
Cwd

2
Questo non funziona per me. Ho impostato MAILTO nel file predefinito e ho riavviato il servizio cron, ma sta ancora inviando a root (sto cercando di inviare a un indirizzo di posta elettronica esterno)
peedee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.