rsync : synchronisation de dossiers

rsync est un outil qui permet de sauvegarder par copies vos données.

Il copie tous les fichiers sources vers la destination que vous avez choisie. Ensuite, il ne mettra à jour que ceux qui ont été modifiés ou ajoutés. D'où un gain de temps.

De plus, rsync peut aussi être utilisé à travers un réseau.

Installation

aptitude update && aptitude install rsync


Utilisation:

Syntaxe de base

rsync [option] /source /destination


Deux exemples :

 

Copie intégralement le fichier ou le répertoire source et son contenu vers destination

rsync -av /source /destination

 

 

Copie seulement le contenu du répertoire source dans destination

rsync -av /source/ /destination


Lors d'un téléchargement distant par ssh, en cas de coupure, reprendre le transfert avec la commande :

rsync --partial --progress --rsh=ssh [source] [user]@[host]:[destination]

Exemple:

rsync --partial --progress --rsh=ssh fichier nom_user@hostName:/repertoire_receveur/

Les options :

  • --partial relance le téléchargement depuis le point d’arrêt
  • --progress affiche la progression du transfert
  • --rsh=ssh sécurise le transfert

Tableau des options

OPTIONS

ACTION

-r

visite récursive des répertoires

-l

copie les liens symboliques comme liens symboliques

-p

préserve les permissions

-t

préserve les dates

-g

préserve le groupe

-o

tous les fichiers des *-from/filtres sont séparés par 0

-D

préserve les périphériques (root uniquement)

-a

mode archivage; identique à -rlptgoD (pas -H)

-v

De nombreuses informations sont affichées lors du transfert.

-z

Compresse le fichier pour un meilleur transfert par le reseau.

–delete

ATTENTION ! Si le fichier (ou son contenu) n'existe plus dans “source”, il sera supprimé dans “destination”.

 

Il est possible de créer des scripts pour automatiser le processus de sauvegarde.
Voir dans Liens externes.


Exemple de sauvegarde de son répertoire utilisateur vers un disque externe

rsync -r -t -x -v -n --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/" --filter "+ jeVeuxCeluiCi.txt"
/home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/ | more

-S,                         traite les fichiers à trous efficacement
-x,                          ne traverse pas les limites du système de fichiers
-n,                         simule la sauvegarde sans ne rien faire réellement
--progress                   affiche la progression
--filter                     permet de désigner les dossiers que l'on ne veut pas sauvegarder (signe -) ou que l'on veut
                             ajouter à la liste (signe +)

 

Le fait d'ajouter |more à la fin de la commande permet de faire défiler manuellement et de voir se qui va se passer en appuyant sur la touche espace


Une fois que vous avez vu le résultat de la commande et que cela vous va, enlevez -n et | more et appuyez sur entrée, la sauvegarde se fait pour de vrai.

rsync -r -t -x -v --progress -l -s --filter "- /.cache/" --filter "- /.thumbnails/"
/home/utilisateur/ /media/DisqueExterne/repertoire_sauvegarde/


Les interfaces graphiques pour rsync

  • grsync: une interface simple et conviviale pour tout le monde.
  • luckybackup: A partir de squeeze uniquement.