domenica 17 marzo 2013

Configurare l'invio delle mail di notifica di Cron su Fedora

Di default per i cronjob che producono dei messaggi di output, il demone crond tenta di inviare al proprietario del cronjob tale output tramite il comando sendmail.
In questa breve guida vedremo come configurare su Fedora un servizio di posta locale, con l'obiettivo di monitorare i comandi eseguiti per mezzo di cron.
Il metodo più semplice è senz'altro quello di installare exim, un mail server che Fedora offre già configurato a puntino e funzionante "out-of-the-box":
$ sudo yum install exim
Poiché ci sono diversi pacchetti in Fedora che forniscono il comando sendmail è opportuno verificare che quello offerto da exim sia impostato come default; diamo in un terminale:
$ sudo alternatives --config mta
nel caso in qui nel nostro sistema siano presenti più alternative di sendmail, riceveremo un output del genere:
 Ci sono 2 programmi che forniscono 'mta'.
  Selezione    Comando
-----------------------------------------------
* 1           /usr/sbin/sendmail.ssmtp
+ 2           /usr/sbin/sendmail.exim
Invio per mantenere l'attuale selezione[+], o inserire il numero di selezione: 
Se sendamail.exim non è l'mta di default digitate il numero corrispondente per renderlo tale. L'alternativa correntemente selezionata è evidenziata dal simbolo "+".
Verifichiamo che il nostro servizio di posta locale sia funzionante, provando ad inviarci una mail; scriviamo:
 sendmail $(whoami) << EOF
Dopodiché proseguiamo scrivendo il testo del nostro messaggio di prova:
> subject: Test Local Delivery
>
> Questo è un messaggo di prova!
Per terminare la composizione ed inviare il messaggio scriviamo:
> EOF
Per controlliamo che il messaggio sia stato effettivamente recapitato installiamo il programma mailx:
$ sudo yum install mailx
Dopodiché diamo in un terminale:
$ mail
Se tutto è andato per il verso giusto, dovremmo vedere un output di questo tipo:
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/simone": 1 message 1 new
>N  1 Simone Sclavi         Sun Mar 17 16:01  15/622   "Test Local Delivery"
&  
segnale che il nostro servizio di posta locale è perfettamente funzionate e quindi utilizzabile da cron.
Un' ulteriore cosa utile che possiamo fare è quella di impostare un alias per l'utente root, fare cioè in modo, per comodità, che i messaggi destinati a root siano reindirizzati all' account di un utente di sistema ordinario. Per fare questo apriamo il file /etc/aliases e alla fine aggiungiamo questa riga:
root:           <nome utente>
Correggete <nome utente> con l'utente di sistema che dovrà ricevere le mail dell'utente root.
Per rendere effettivo l'alias creato, daremo:
$ sudo newaliases
Diversi client mail in Fedora sono in grado di gestire la posta locale; ad esempio se, come me, utilizzate Thunderbird vi sarà sufficiente aggiungere un nuovo account di tipo "Unix Mailspool (Movemail)".

2 commenti:

  1. Ciao seguendo la tua guida ho avuto questo problema:
    WARNING: gnome-keyring:: couldn't connect to: /run/user/myuser/keyring-eoxfU9/pkcs11: Permission denied

    utilizzo mint 14 con LXDE

    ho provato con questo ma non funziona:
    http://hongouru.blogspot.it/2012/07/solved-warning-gnome-keyring-couldnt.html

    Puoi aiutarmi?
    Grazie.

    RispondiElimina
    Risposte
    1. Ciao, in corrispondenza di quale passaggio ottieni l'errore ?

      Elimina