Ogni volta che viene eseguito un lavoro Crontab, viene inviata un'email relativa all'esecuzione di quel lavoro all'indirizzo email dell'utente root i.e. l'ID e-mail che hai fornito durante la configurazione del tuo demone Cron. Queste sono le impostazioni predefinite del servizio Crontab. Tuttavia, in alcune situazioni, gli utenti preferiscono inviare queste notifiche a una posizione diversa dall'ID e-mail dell'utente root.
Puoi considerare uno scenario in cui un capo squadra ha chiesto a un subordinato di svolgere un lavoro ogni 4 ore. Ogni volta che quel subordinato svolge quel compito, il capo squadra dovrebbe riferire al CEO al riguardo, tuttavia, ciò sarà possibile solo se il subordinato informa il capo squadra dopo ogni 4 ore che ha svolto il lavoro assegnato. Significa che se il subordinato si dimentica di farlo, il capo squadra dovrà affrontarne le conseguenze.
Questo compito può essere semplificato se in qualche modo il capo squadra viene automaticamente a sapere ogni volta che il subordinato esegue quell'attività senza che sia necessario che il subordinato informi esplicitamente il capo squadra. Fortunatamente, il servizio Crontab in Linux ci consente di farlo configurando il suo parametro MAILTO in modo tale che possa inviare notifiche al destinatario desiderato. Quindi, oggi parleremo del metodo di configurazione del parametro Crontab MAILTO per inviare notifiche a una posizione specificata diversa dall'ID e-mail dell'utente root in Linux Mint 20.
Metodo di configurazione del parametro Crontab MAILTO per inviare una notifica a una posizione specificata:
Per configurare il parametro Crontab MAILTO per inviare notifiche a una posizione specificata in Linux Mint 20, è necessario eseguire i seguenti passaggi:
Passaggio n. 1: eseguire il servizio Crontab:
Innanzitutto, è necessario avviare il servizio Crontab in modo che possa eseguire i lavori specificati eseguendo il comando indicato di seguito nel terminale:
$ sudo systemctl start cron
Questo comando avvierà immediatamente il demone Cron in background.
Passaggio n. 2: verifica lo stato di funzionamento del servizio Crontab:
Per confermare lo stato di funzionamento del demone Crontab, puoi eseguire il seguente comando nel tuo terminale:
$ sudo systemctl status cron
Se il demone Crontab funziona, vedrai lo stato "attivo (in esecuzione)" nell'output di questo comando come evidenziato nell'immagine mostrata di seguito:
Passaggio n. 3: apri il file Crontab con l'editor Nano:
Ora proveremo ad aprire il file Crontab per configurare il parametro MAILTO eseguendo il seguente comando nel terminale:
$ crontab -e
Eseguendo il comando crontab, il file crontab si aprirà con il tuo editor di testo predefinito i.e. il nano editor.
Passaggio n. 4: configurare il parametro MAILTO per inviare una notifica a una posizione specificata:
Ora puoi aggiungere qualsiasi attività a questo file da eseguire come lavoro Crontab. Nella nostra situazione, abbiamo creato un lavoro Crontab per eseguire un file bash ogni secondo. Tuttavia, prima di quel lavoro, è necessario inserire la riga mostrata di seguito per configurare il parametro MAILTO per l'invio di notifiche a una posizione specificata:
MAILTO=”Indirizzo e-mail”Qui, è necessario sostituire l'EmailAddress con l'effettivo ID email della persona a cui si desidera inviare le notifiche Crontab. Volevamo inviare la notifica di Crontab a "[email protected]" come evidenziato nell'immagine seguente.
A volte, hai più di un lavoro aggiunto al file Crontab e potresti voler inviare le notifiche di ogni lavoro a un indirizzo email diverso. In tal caso, devi aggiungere la riga MAILTO mostrata sopra prima di ogni lavoro che indichi nel tuo file Crontab e scrivere semplicemente il rispettivo indirizzo email a cui vuoi inviare le notifiche. In questo modo, puoi facilmente configurare il parametro Crontab MAILTO per inviare notifiche a una posizione specifica.
Passaggio n. 5: installa il nuovo Crontab:
Ora puoi chiudere il tuo file Crontab dopo averlo salvato. Non appena lo farai, noterai che il demone Cron sta installando il nuovo Crontab poiché hai appena modificato il file Crontab configurando il parametro MAILTO.
Passaggio n. 6: verifica se il processo Crontab è in esecuzione o meno:
Inoltre, se devi anche confermare che il lavoro che hai appena aggiunto al tuo file Crontab viene eseguito correttamente o meno, puoi farlo anche eseguendo il seguente comando nel tuo terminale:
$ sudo grep -a “Cron.sh” /var/log/syslogEcco, Cron.sh è il nome del file bash che volevamo eseguire ogni secondo mentre il file /var/log/syslog in Linux contiene un registro di tutti i lavori Crontab che sono stati eseguiti fino al momento in cui è stato eseguito il comando sopra menzionato.
Quando eseguirai questo comando, noterai nel suo output che il Cron.sh viene effettivamente eseguito ogni secondo come mostrato nell'immagine qui sotto. Significa anche che ogni volta che verrà eseguito questo file bash, verrà inviata un'e-mail all'indirizzo di posta elettronica indicato con il parametro MAILTO nel file Crontab.
Conclusione:
Seguendo tutti i passaggi spiegati in questo articolo, si può facilmente configurare il parametro Crontab MAILTO in modo tale che sia in grado di inviare notifiche via email a qualsiasi destinatario desiderato. Il parametro MAILTO può essere configurato per tutti i destinatari che vuoi. In altre parole, se hai più lavori Crontab elencati all'interno del file Crontab, puoi facilmente avere parametri MAILTO separati per ciascuno di questi lavori in modo da poter inviare le notifiche sull'esecuzione di qualsiasi lavoro particolare al destinatario previsto. In questo modo, puoi anche salvarti dal fastidio di informare manualmente la persona interessata del completamento di un'attività.