19 août 2005

Synchroniser des fichiers ou des répertoires entre une clé USB et un disque dur.

Une clé USB permet de faire voyager des fichiers entre plusieurs ordinateurs. Si l'on ne souhaite pas travailler directement sur la clé USB mais sur une copie locale, on tombe vite sur un problème de synchronisation entre la copie locale et le contenu de la clé USB.

Pour résoudre ce problème, sous Linux, on peut utiliser l'un des logiciels graphiques suivants :

  • filemirror (mon préféré)
  • darksync
  • etc ...

Par contre, on peut aussi utiliser le logiciel rsync en ligne de commande. Démonstration.

Cas n°1

Vous venez de travailler en local sur votre disque dur. Pour transférer vos modifications sur votre clé :


rsync -CbutPr -n ~/Documents/ /mnt/removable/Documents/

Cas n°2

Vous venez de brancher votre clé USB, et vous souhaitez récupérer les éventuelles modifications faites sur celle-ci.


rsync -CbutPr -n  /mnt/removable/Documents/ ~/Documents/

Cas n°3

Vous avez supprimer des fichiers sur votre clé USB et vous souhaitez que ces fichiers soient également supprimés en local.


rsync -CbutPr -n --delete /mnt/removable/Documents/ ~/Documents/

Précisions :

  • L'option -n permet d'afficher les fichiers qui vont être traités sans pour autant les copier. Pour réaliser la synchronisation on enlévera donc l'option -n.
  • L'option -b permet de garder une sauvegarde des fichiers qui vont être écrasés.
  • Pour connaitre le détail des autres options, lisez le man