Newsgroup: it.comp.os.linux.sys
Titolo: Controllo su un file

Vorrei inserire in cron una procedura che controlli un file e se rileva
delle variazioni me lo mandi via mail.
Il file in questione sarebbe il log dell'ups, pensavo al limite ad un
soluzione brutale tipo:
cat $(date +"%Y/%m/%d") e poi passarlo a mail, però otterrei che se nella
giornata manca tensione anche solo per un secondo continuo a ricevere e-mail
ogni 5 minuti (ogni volta che gira lo stript con crond) per tutta la
giornata.
Sarebbe il male minore, però se riuscissi a fare un lavoro più serio sarei
contento :-)
Saluti
Fabio

 contento :-)
Salvi il file in una copia 'temporanea' ogni volta che lo processi e
fai un diff tra la versione precedente e quella attuale, quindi ti
fai inviare solo le differenze tra le due (se ci sono).
Davide
-- 
| "Irrationality is the square root of all evil"   -- Douglas Hofstadter
| 
| 
| 

 delle variazioni me lo mandi via mail.
man cmp
-- 
The Skull says:
A Linux machine! Because an (i386|ppc|alpha|PA-RISC)
is a terrible thing to waste!


Puoi usare logcheck.sh: quando ci sono variazioni in un file controlla 
la presenza di determinate keyword e ti invia una email
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
	Prima di parlare collegare la spina del cervello,
	 leggere e in caso di schermata blu riavviare.

 delle variazioni me lo mandi via mail.
io farei qualcosa con md5sum.
ti salvi l'ultimo hash calcolato e se cambia allora invii il file e risalvi
l'hash nuovo.
Max

 io farei qualcosa con md5sum.
Giusto per aggiungere alla lista delle soluzione, mettiamoci anche fam.
Fam e` una libreria (file alteration monitor) che permette di scrivere
programmi di notifica quando un dato file o dir viene modificata.
/me overkill.
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
If you don't succeed redefine success

 Giusto per aggiungere alla lista delle soluzione, mettiamoci anche fam.
non la sapevo questa.
Ma vista l'abbondanza delle soluzioni, a me veniva in mente la seguente
domanda retorica (ergo OT):
Sotto windows come si fa in 3 minuti ?? ^_^
Max

 Sotto windows come si fa in 3 minuti ?? ^_^
Windows ha file di log?
Davide
-- 
| Any code of your own that you haven't looked at for six or more
| months, might as well have been written by someone else. 
| 
| 

 Davide
Ottima idea, grazie.
Avrei bisogno sono di un piccolo aiuto, adesso sto provando con questo
comando, ma dopo stravolgerň tutto per farlo meglio:
diff -B PCMUPS0406.log PCMUPS0406.log | mail 
m...@indirizzo.it
 > /dev/null
come posso fare per evitare che mi mandi una mail vuota quando non ci sono
differenze? Sicuramente č banale ed č una domanda da .iniziare, perň visto
che sono qui ed č l'unica cosa che mi manca abbiate pietŕ :-))
Grazie a tutti
Fabio

 che sono qui ed è l'unica cosa che mi manca abbiate pietà :-))
man test.
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Software is like sex; it's better when it's free.

 man test.
Non riesco a trovare la soluzione, se puoi darmi un suggerimento, altrimenti
mi sposto su .iniziare
Ciao
Fabio

 altrimenti mi sposto su .iniziare
Pseudo codice:
$TESTO = `fai qualcosa con i file`
if [ $TESTO != "" ]; then
  { codice che ti manda la differenza }
fi
Altrimenti, se crei comunque un file:
{ operazioni che creano il file }
$FILE = "path del file"
if [ -s $FILE ]; then
  { codice che ti manda il file }
fi
Insisto nella lettura di man test. Se invece il problema e` nello shell
scripting, man bash, o uno dei documenti sulla programmazione della
shell.
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Lusers: can't live with them, don't get paid without them.

 shell.
Grazie mille, oggi provo.
Ciao
Fabio