[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Riminilug-general] Unison automatico



mi hanno chiesto di commentare...

un po' di notazione spicciola:
# -> commento
#! -> interprete dei comandi da usare
NOME="valore" -> assegna una variabile

root@ccib144220:~# cat /etc/cron.hourly/unison_retaggio
#!/bin/sh
OPTIONS="-batch -ui text -contactquietly -terse"
Assegna alla variabile OPTIONS i valori.
Cosa vogliono dire, si può vedere da `unison -help` e un po' di prove a mano.
#OPTIONS="-batch -ui text"
ovviamente non fa nulla

TEXT=`( su - daniele -c "unison $OPTIONS docs-sulu"
su - daniele -c "unison $OPTIONS docs-q" ) 2>&1`
assegna alla variabile TEXT tutto l'output dei comandi di cui sopra.
su è ovviamente un comando, diventa utente daniele (che contiene i profili per 
unison), e (-c) lancia il comando "unison Con_le_opzioni_di_cui_sopra 
nomedelprofilodiunison"

le tonde aprono una subshell, cioè viene eseguita e poi restituisce qualcosa.
2>&1 mi porta lo standard error su standard output, così non me lo mette a 
video ma anche lui va in TEXT.

idealmente puoi aggiungere tante righe quanti sono i profili che hai.

if [[ ! -z $TEXT ]]
Se $TEXT è una stringa di lunghezza diversa da zero
then
allora ;)
        echo $TEXT | mailto -s "Change on php5s server" daniele@xxxxxxxxxxxx
mandami una email con il contenuto di TEXT.
fi
fine dell'if

non c'è un else, perché else vurrebbe dire "è andato tutto bene".

se non è chiaro, cerca "advanced bash scripting" ;)

bye
d.
_______________________________________________
Riminilug-general mailing list
Riminilug-general@xxxxxxxxxxxx
http://riminilug.it/mailman/listinfo/riminilug-general