Propagazione

From Alessandro's Wiki
  • 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