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

Re: synchronisation via SSH (Rsync)



Thibaut LE LEVIER a écrit :
> Bonjour à tous.
> 
> Petit problème du jour.
> J'essaye de réaliser un script qui me synchronise un certain nombre de
> dossier entre 2 machines.
> L'une joue le rôle de machine "maître" et travaille normalement, la
> seconde se connecte dessus et réplique la configuration, les fichiers...
> 
> j'essaye donc avec Rsync mais mon problème c'est que j'ai plusieurs
> dossier de sources que je souhaite synchroniser vers plusieurs fichiers
> de destination (les même en fait)
> 
> est-ce que quelqu'un sais comment faire pour spécifier plusieurs
> dossiers en entrée et en sortie?
> 
> Merci
> Thibaut
> 

Les options --include et --exclude déjà devraient t'aider. Perso je
place ce que je veux sauvegarder et ce que je ne veux pas dans deux
fichiers différents que je viens lire avec --include-from et --exclude-from

Pour un ~/ par exemple ça donc un truc du genre:

rsync --options \
    --include-from=/home/user/.save/include \
    --exclude-from=/home/user/.save/exclude \
    /home/user \
    machine2:/dest/sauvegarde/machine1/home/

Ce qui me permet de conserver l'arborescence originale de ce que je
sauvegarde tout en limitant au strict nécessaire.
Si ce n'est pas possible et qu'il faille transférer quelques dossiers
épars tous dans la même destination je le ferais sûrement dans une boucle:

for SRC in machin bidule truc chose
do
    rsync --options \
    --include-from=/home/user/.save/include \
    --exclude-from=/home/user/.save/exclude \
     $SRC \
     machine2:/dest/sauvegarde/machine1/
done

Et si chaque dossier de départ devait avoir sa propre destination, je
ferais un truc du genre (et parce que je ne sais pas le faire en shell):

perl -e '%h=@ARGV;while (my ($src,$dst)=each %h){system qq{rsync
--options $src $dst};}' src1 dest1 src2 dest2


--
rvdru



Reply to: