Comment synchroniser automatiquement avec un périphérique de stockage de masse USB branché?

J'ai (pour le moment) trois périphériques de stockage de masse USB mobile (lecteur flash, téléphone, e-reader). Je voudrais toujours avoir les dernières versions de tous mes files avec moi (tels que CV, passeport, documents de search, code source, etc.)

Mes files changent souvent, donc les copyr manuellement tous les jours n'est pas possible. Idéalement, je voudrais twigr mon lecteur flash (par exemple), le faire reconnaître automatiquement par mon PC, le monter, le synchroniser et le démonter.

Et les fonctionnalités suivantes "seraient bien":

  • GUI
  • Notification via Xorg / KDE / Gnome lorsque la synchronisation démarre / s'arrête.
  • Et, pourquoi pas: synchronisation bidirectionnelle. Mais ce n'est pas une priorité.

J'ai trouvé quelques questions qui sont liées à celui-ci:

  • Synchroniser des files d'un mac vers un lecteur flash – automatiquement?
  • Comment exécuter des scripts personnalisés sur un plug-in de périphérique USB?
  • Comment être averti lorsqu'un périphérique USB est branché?
  • Comment exécuter un shellscript quand je twig un périphérique USB

Mais aucun d'eux ne répond complètement à ma question. Je suppose que je pourrais pirater quelque chose set en utilisant udev , rsync , etc., donné assez de time. Mais je déteste réinventer la roue. Et le time est quelque chose que je n'ai pas à épargner en ce moment. Idéalement, j'aimerais utiliser une solution existante, mais je n'en trouve pas.

Alors, quel serait le moyen le plus rapide de mettre quelque chose comme ça?

Vous pouvez suivre la route udev / rsync, mais vous devrez faire quelques scripts. Découvrez inotify-tools dans tous les cas, ils sont très utiles pour envoyer des notifications de changement de système de files aux applications.

Je connais trois outils GUI (quick to set up) pour synchroniser les filesystems locaux.

  1. Unison est mature et bien documenté. Les methods de surveillance sont légèrement dépassées, mais elles pourraient être automatisées par inotify (nécessite encore des scripts).

  2. DirSync Pro ne sonne pas comme un logiciel libre, mais il l'est.

  3. FreeFileSync est récemment sorti mais semble prometteur. Il permet de sauvegarder les comparaisons d'annuaire en tant que lot et de triggersr la synchronisation des events, par exemple le assembly d'un lecteur externe.

En plus de la bonne réponse de @dartonw si vous aimez utiliser le script bash pour simlpe bidirectionnel, vous pouvez utiliser rsync de cette façon

 #!/bin/sh exitcode=1 #do check if usb flash is mounted if test -e '/your_path_to_usb_mountpoint';then exitcode=0 #from folder to usb if the files are newers rsync -avun --inplace /your_folder_wich_you_want_to_syncronize/ /your_path_to_usb_mountpoint ; #from usb to folder if the files are newers rsync -avun --inplace /your_path_to_usb_mountpoint/ /your_folder_wich_you_want_to_syncronize/ fi #if the flash is not mounted exit with exitcode=1 exit $exitcode