La synchronisation de répertoire est souvent utile lorsque l'on déplace des fichiers d'un ordinateur à l'autre en passant par une clé USB. Mon précédant billet montrait comment utiliser la commande rsync pour réaliser cette opération.
Pour compléter cet article voici une petite fonction à placer dans son fichier .profile ou .bash_profile. Elle permet d'obtenir une commande de synchronisation d'un usage simple et similaire à la commande cp :
synchro /repertoire/source /repertoire/destination
function synchro { # $1 source # $2 destination if [ "x$1" != "x" ] && [ "x$2" != "x" ]; then n1=`basename $1` n2=`basename $2` d1=`dirname $1` d2=`dirname $2` p1="$d1/$n1/" p2="$d2/$n2/" if [ -d $p1 ] && [ -d $p2 ] && [ $n1 = $n2 ]; then find $p1 -name "*~" -exec rm -f {} \; find $p2 -name "*~" -exec rm -f {} \; rsync -CbutPr --delete $p1 $p2 else echo "Sorry bad arguments. Try again !" fi else echo "Too few arguments. Try again !" fi }
Aucun commentaire:
Enregistrer un commentaire