Questo script permette di effettuare un allineamento tra due directory del proprio PC o tra una di un sito ed una locale.
Ricopiare questo script e salvare in: /usr/sbin
con il nome: allinea
Code: Select all
#!/bin/bash
# Questo script permette di effettuare un allineamento tra due
# directory del proprio PC o tra una di un sito ed una locale.
# Effettua RSYNC #
# 07/09/2008 - R.Z. #
echo $0
if [ $2 ]; then
echo && echo "COPIA & AGGIORNAMENTO IN CORSO..."
ps=$1 && pd=$2
if [ ! -d $pd ]; then
mkdir -p ${pd}
fi
echo && echo "RSYNC da: ${ps}/ a: ${pd}/"
rsync -ravz ${ps}/ ${pd}/
echo "COMPLETO !"
exit 0
fi
echo -n "Copia da un server esterno (s/N) [n] -->" && read cs
if [ ! $cs ]; then
cs="n"
else
cs="s"
fi
echo
if [ $cs == "s" ]; then
echo -n "Nome del server esterno oppure il DNS -->" && read dns
echo -n "Tuo Login ------------------------------>" && read log
echo
fi
echo -n "Perscorso sorgente: -->" && read ps
echo -n "Perscorso destinazione: -->" && read pd
echo && echo -n "SEI SICURO DI FARLO (S/n)? [n] -->" && read sn
if [ ! $sn ]; then
sn="n"
fi
if [ ! -d $pd ]; then
mkdir -p ${pd}
fi
if [ $sn == "s" ]; then
echo && echo "COPIA & AGGIORNAMENTO IN CORSO..."
if [ $cs == "n" ]; then
echo && echo ${ps}/ ${pd}/
rsync -ravz ${ps}/ ${pd}/
echo "COMPLETO !"
else
echo && echo ${log}@${dns}:${ps}/ ${pd}/
rsync -ravz -e ssh ${log}@${dns}:${ps}/ ${pd}/
echo "COMPLETO !"
fi
echo "Procedura abortita !"
fi
exit 0
Sintassi:
Code: Select all
allinea [nome_directory_sorgente] [nome_directory_destinazione]
Se non si fornisce alcun parametro diventa interattivo.
Un esempio potrebbe essere questo:
Code: Select all
allinea /home /backup/home
Code: Select all
allinea rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/MandrivaLinux/official/2008.1/i586 /media/hd_usb/mandriva/i586
Questo script non sempre può funzionare con i server esterni, ma solo con quelli che hanno attivo RSYNC, mentre per la copia interna da un HD o da un PC ad un altro è perfetto !!!!
Ciao Roberto