Email giornaliera file di log

Status
Not open for further replies.

giuseppe96

Cadet
Joined
Nov 5, 2017
Messages
5
Ciao a tutti, vorrei sapere, se esiste un modo, per inviare giornalmente oltre il security report anche il file di log degli accessi di ftp ad esempio. Come posso fare? Se avete bisogno di info chiedete pure.
 

Syd84

Dabbler
Joined
Oct 21, 2017
Messages
22
Ciao!
Io non so se esiste, di default, un log degli accessi ftp. Se esiste, si potrebbe fare uno script da schedulare e che ti inoltra il file di log creato per differenza rispetto all'ultimo invio schedulato.
 

giuseppe96

Cadet
Joined
Nov 5, 2017
Messages
5
Ciao!
Io non so se esiste, di default, un log degli accessi ftp. Se esiste, si potrebbe fare uno script da schedulare e che ti inoltra il file di log creato per differenza rispetto all'ultimo invio schedulato.
Ciao, se esistesse come potrei impostare lo script?
 

Syd84

Dabbler
Joined
Oct 21, 2017
Messages
22
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)
 
Last edited:
Status
Not open for further replies.
Top