Un report per email
Oggi vogliamo presentarvi una personalizzazione da realizzare in IPFire, la personalizzazione che vogliamo proporre è abbastanza semplice e permette a chiunque prende un po di confidenza con la shell e con alcuni comandi del sistema operativo.
Lo scopo di questa personalizzazione è quella di avere un report giornaliero del sistema in modo da tenerlo sotto controllo da eventuali problemi che potrebbero sorgere.
Abbiamo preso spunto da un lavoro realizzato dall’utente ummeegge e la communita IPFire Italia la modificata e personalizzata, i file necessari sono scaricabili a questo link
Partiamo con i lavori da fare, prima cosa da fare è quella di avere a disposizione un editor per i file di testo, noi ci affidiamo a Notepad++ ma va bene anche altri editor, altro programma necessario un file trasfer, in questo caso la nostra scelta è caduta su Winscp, ultimo programma necessario è un terminale SSH noi usiamo Putty.
Una volta installati i programmi e configurati per accedere al vostro firewall, passiamo ad installare i componenti aggiuntivi, per questa operazione è abbastanza semplice si va tramite interfaccia web alla voce Pakfire
Una volta arrivati è necessario installare tre componenti se gia non sono presenti
Una volta installati passiamo a copiare i file necessari sul firewall, noi abbiamo deciso di posizionarli nella directory /mnt/ harddisk/
I file da copiare sono due, entrambi lo troverete allegati a questo articolo
my_statuslog.sh
my-sendemail.sh
una volta copiati è necessario modificare le proprietà del file rendendolo eseguibile, per fare questo si deve accedere tramite putty ed eseguire il comando
chmod +x my_statuslog.sh
chmod +x my-sendemail.sh
Passiamo alla personalizzazione dei file, se il file my_statuslog.sh non necessita di personalizzazione, invece il file my_sendemail.sh va completamente personalizzato.
Andando in dettaglio il file richiede alcuni parametri per renderlo funzionante.
#!/bin/bash #### # my-sendemail.sh execute and send email #### cd /mnt/harddisk/; ./my_statuslog.sh > /tmp/stats.txt; /usr/local/bin/sendEmail -f -u "Stato del sistema IPFire" \ -m "Buongiorno, in allegato trovi il report del sistema IPFire " \ -s smtp.mail.com:25 \ -xu username -xp top_secret \ -a /tmp/stats.txt \ -o tls=yes ; rm -rf /tmp/stats.*; # End script |
Andando a vedere cosa c’è da personalizzare
-f indicare l’email del mittente
-t indicare l’email del destinatario
-s nome del server smtp e la sua porta
-xu user di autenticazione per il server smtp
-xp password associata all’utente
-o indicare se la connessione con il server smtp è crittografato
Una volta modificato con i propri parametri si puo provare lanciando il comando tramite shell
./my-sendemail.sh dopo una decina di secondi deve restituire l’informazione di aver trasmesso l’email
Se siamo arrivati a questo punto con un risultato, in questo modo, è sufficiente a questo punto programmare il sistema fcron di ipfire, per fare questo è sufficiente lanciare il comando
fcrontab -e
ed inserire la riga di schedulazione
# sys_info
10 00 * * * /mnt/harddisk/my-sendemail.sh
Se volete salvare nel sistema di Backup di IPFire è necessario modificare il file include posizionato nella directory /var/ipfire/backup
aggiungendo in fondo la riga /mnt/harddisk/*
Con questa modifica abbiamo terminato la personalizzazione ovviamente ognuno di voi puo modificare o migliorare il lavoro da noi realizzato e se vorrà condividerlo con noi sarà ben accetto