lo script che utilizzo attualmente è questo:
Code:
#!/usr/local/bin/bash
ovpn_log="/mnt/Toshiba/jails/ovpn/var/log/openvpn.log";
ovpn_log_copia="/mnt/Toshiba/jails/ovpn/usr/local/etc/openvpn/ovpn_log_test/copia.log";
differenza="/mnt/Toshiba/jails/ovpn/usr/local/etc/openvpn/ovpn_log_test/differenza.log";
differenza1="/mnt/Toshiba/jails/ovpn/usr/local/etc/openvpn/ovpn_log_test/differenza1.log";
if [ -f "$ovpn_log_copia" ]
then
diff -a --suppress-common-lines -y -W310 $ovpn_log $ovpn_log_copia > $differenza
parole=$(wc $differenza | awk '{print $1}')
if [ ! $parole -eq 0 ]
then
echo "Subject: OpenVPN log report" > $differenza1
grep "TLS: Username\|TLS Auth Error:\|SIGTERM" $differenza >> $differenza1
sendmail tuamail@gmail.com < $differenza1
fi
cp $ovpn_log $ovpn_log_copia
else
cp $ovpn_log $ovpn_log_copia
fi
dove le variabili:
ovpn_log=è la posizione dove esiste il file del log che genera qualche applicativo;
ovpn_log_copia=una posizione in cui si genera la copia del file di log al punto precendete;
differenza=le righe di differenza tra il log originale e l'ultima copia generata(precedente running schedulato);
differenza1=file che verrà inviato via mail che viene rigenerato/sovrascritto ad ogni schedulazione;
faccio notare che nel mio caso, preferisco far inviare la mail solo nel caso in cui nel file "differenza" sono presenti un numero di righe diverso da zero. Successivamente, dalle nuove righe greppo solo quelle contenenti le stringhe "TLS: Username", "TLS Auth Error:" oppure "SIGTERM" (stringhe presenti nelle righe del log che identificano una connessione, disconnesione). Tutto questo è specificato alla riga:
grep "TLS: Username\|TLS Auth Error:\|SIGTERM" $differenza >> $differenza1
. Se quindi ho trovato delle nuove righe in "differenza" ma nessuna contiene le precedenti stringhe, mi arriverà una mail vuota.
Tale script andrà aggiunto in scheduling dalla gui di freena col seguente comando nel mio caso:
bash /mnt/Toshiba/jails/ovpn1/usr/local/etc/openvpn/ovpn_log_test/log_mail.sh
in tale modo, la mail verrà inviata con le stesse credenziali che freenas utilizza per gli altri servizi (quella configurata nella gui "mail")
Spero di essere stato chiaro.
Ultima cosa, quando salvi il file, se lo crei da un sistema windows, assicurati che sia scritto in codifica UNIX e non WINDOWS (notepad++ ha il selettore in basso a dx)