Difference between revisions of "Propagazione"
From Alessandro's Wiki
Porcelinux (talk | contribs) |
Porcelinux (talk | contribs) |
||
Line 5: | Line 5: | ||
datate di ogni file cambiato. | datate di ogni file cambiato. | ||
* | * variabile che contiene le directory separate da virgola | ||
SCRIPTS="~/myscripts /home/pippo/pipposcripts" | |||
* Script propagatore: | * Script propagatore: | ||
~/mysbin/scripts/propaga.sh | ~/mysbin/scripts/propaga.sh | ||
# Imposto il separatore di elementi a ''virgola'' "," | |||
IFS="," | |||
for scriptItem in $SCRIPTS; do | |||
# Per ogni script nella mia lista SCRIPTS.. | |||
for dirTarget in $TARGETS; do | |||
# Per ogni directory di target nella mia lista TARGETS... | |||
[ -d $dirTarget ] || mkdir $dirTarget | |||
# se la directory /<mount_point>/$DIRIN/ non esiste... | |||
cp -R --update --verbose -S `date +%Y%m%d-%H%M` --sparse=auto $scriptItem $dirTarget | |||
# Copio lo script nella directory | |||
[ -f $dirTarget/log_propaga ] || touch $dirTarget/log_propaga | |||
echo "`date "+%Y%m%d-%H%M"` Propagato $scriptItem" >> $dirTarget/log_propaga | |||
done | |||
done | |||
* Cron: | * Cron: | ||
[root@elwood ~]# grep propaga /etc/crontab | [root@elwood ~]# grep propaga /etc/crontab | ||
02 07,09,14,22,00 * * * xunil /home/xunil/mysbin/scripts/propaga.sh | 02 07,09,14,22,00 * * * xunil /home/xunil/mysbin/scripts/propaga.sh |
Revision as of 17:26, 15 October 2006
- Propagare??
Mantenere una cpia aggiornatissima di una certa directory dove si memorizzano informazioni e scripts, mantenendo una storia dei cambiamenti applicati ai files facendo copie datate di ogni file cambiato.
- variabile che contiene le directory separate da virgola
SCRIPTS="~/myscripts /home/pippo/pipposcripts"
- Script propagatore:
~/mysbin/scripts/propaga.sh
# Imposto il separatore di elementi a virgola "," IFS="," for scriptItem in $SCRIPTS; do # Per ogni script nella mia lista SCRIPTS.. for dirTarget in $TARGETS; do # Per ogni directory di target nella mia lista TARGETS... [ -d $dirTarget ] || mkdir $dirTarget # se la directory /<mount_point>/$DIRIN/ non esiste... cp -R --update --verbose -S `date +%Y%m%d-%H%M` --sparse=auto $scriptItem $dirTarget # Copio lo script nella directory [ -f $dirTarget/log_propaga ] || touch $dirTarget/log_propaga echo "`date "+%Y%m%d-%H%M"` Propagato $scriptItem" >> $dirTarget/log_propaga done done
- Cron:
[root@elwood ~]# grep propaga /etc/crontab 02 07,09,14,22,00 * * * xunil /home/xunil/mysbin/scripts/propaga.sh