Sostituisci MAILTO per una singola voce crontab


20

Abbiamo un account di ruolo al lavoro che ha un crontab piuttosto grande. Il suo MAILTO è indirizzato a un indirizzo condiviso, in modo che alcuni di noi ricevano una notifica in caso di errore.

Vorrei aggiungere una voce a questo crontab, ma voglio solo essere avvisato se qualcosa va storto. C'è un modo per cambiare MAILTO per questa voce, o altrimenti raggiungere il mio obiettivo?


Un altro approccio a quelli suggeriti finora è utilizzare la funzione che cron invia tramite e-mail all'utente che sta eseguendo il lavoro, quindi crea un altro utente solo per questo lavoro e inoltra le e-mail a te.
Hayden Thring,

Risposte:


21

Puoi sempre semplicemente fare:

MAILTO=you
* * * ...  your cron job
MAILTO=normal.destination

1
Le persone che hanno votato per questo hanno davvero provato? In tal caso, quale implementazione cron?
user1338062,

L'ho provato con il cron ICS / Vixie fornito con Ubuntu 14.04 ("3.0pl1-124ubuntu2") e funziona bene lì.
Nils Toedtmann,

Brutto, ma praticamente l'unico modo per risolvere questo problema. Lavori!
stamster

10

È sempre possibile reindirizzare tutto l'output al comando mail con l'indirizzo corretto in una subshell. Finché non c'è nulla su STDOUT o STDERR cron non invierà l'e-mail

10 * * * * sh -c 'thisonecommand 2> & 1 | mail altro indirizzo@foo.com '


1
Questo non funziona: il comando "mail" invia indipendentemente dal fatto che ottenga o meno un output. Quindi ricevo un messaggio vuoto sul successo, mentre quello che voglio non è un messaggio sul successo.
mike,

5
Bello! E per evitare e-mail vuote dal comando mail, usa questo parametro: -e (o -E per alcuni ..)

3

Non riesco a ricordare se cron precarica il file da leggere nell'ambiente, quindi non sono sicuro che puoi cambiare MAILTOpiù volte in un singolo file. Ma puoi sempre dividerlo in un altro file e inserirlo /etc/cron.d/foocon un MAILTO=some@email.tld.

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.