Je veux faire une synchronisation à sens unique.
J'ai un Folder A
sur mon ordinateur, qui est constamment mis à jour avec le contenu.
Un autre Folder B
est utilisé à des fins de sauvegarde sur un disque dur externe.
Maintenant, ce que je pense, c’est que tout ce qui est supplémentaire dans le dossier A devrait aller dans le dossier B. Cependant, quelque chose qui est présent dans B et NON dans A "" ne doit PAS être copié dans A "".
En un mot, le dossier de sauvegarde peut tout copier du dossier source, mais rien ne doit être copié du dossier de sauvegarde sur le source.
Cela semble être une tâche parfaite pour rsync
Sudo rsync -az /path_to/A /path_to/B
-un mode d'archivage (implique récursif, copie des liens symboliques en tant que liens symboliques, conserve le propriétaire, les temps de modification, les fichiers de groupe, de propriétaire, spéciaux et de périphérique)
-z compresse les données
Si vous souhaitez supprimer les fichiers supprimés dans A des fichiers dans B, utilisez l'option --delete
Pour plus d'informations, voir:
https://help.ubuntu.com/community/rsync
Vous pouvez lancer rsync à partir de cron
Sudo crontab -e
Ajouter une tâche horaire
@hourly rsync /path_to/A /path_to/B
Je suggérerais d'utiliser rsync à cette fin. Rsync est extrêmement rapide, stable et polyvalent. Il y a une bonne introduction à http://help.ubuntu.com/community/rsync
Si vous le souhaitez, il existe un frontal graphique optionnel: grsync
Sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB
La commande ci-dessus va copier de folderA vers folderB en excluant dir1. Les drapeaux sont
-a preserves time stamps
-z is to enable compression
-v verbose
Il y a beaucoup plus d'options disponibles.
J'ai toujours trouvé Unison très utile. Il a une interface texte ou une interface graphique, et pas mal d’options différentes pour l’ajuster à votre guise (avec un peu de bidouillage). La première synchronisation prend un peu de temps, mais après elle est brillante. Vous pouvez le faire synchroniser à sens unique, comme vous le souhaitez, mais vous obtiendrez cela presque automatiquement. Il peut également supprimer de la sauvegarde ou non comme vous le souhaitez.
Vous pouvez également rencontrer des problèmes d'autorisations qui sont pris en charge dans le format de fichier Ubuntu, mais pas dans le disque dur externe (selon que le disque dur externe va être utilisé sur une machine Windows, cela peut être une bonne chose), vous souhaiterez peut-être synchroniser sans les autorisations potentielles.
Quoi qu'il en soit, la bonne chose à faire est qu'avec le tutoriel, il est relativement simple de le configurer une fois, puis c'est une interface graphique à chaque fois que vous voulez le faire.
Voici quelques informations à ce sujet: http://www.ubuntugeek.com/unison-file-synchronization-tool.html
Et voici le tutoriel: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#tutorial
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/
Ceci synchronisera et copiera uniquement les données qui n'existent pas dans le /other/folder/on/hdd/
Je suis d'accord avec les autres réponses, vous pouvez utiliser dans rsync dans Terminal ou les interfaces Grsync, luckyBackup, Conduit ou le célèbre nison.
Une autre excellente application est Krusader (un gestionnaire de fichiers à double panneau pour KDE). Dans le menu Outils, vous pouvez trouver "Syncronize Directories", est très utile.
En dernière instance, vous pouvez installer Wine et installer un autre excellent gestionnaire de fichiers à double volet, comme Total Commander .
Quoi qu'il en soit, vous avez beaucoup d'options et toutes sont présentes dans le centre logiciel Ubuntu.
Je recommanderais Conduit pour une synchronisation simple. Il est disponible le système de logiciel. Il fait exactement ce que vous recherchez
Vous pouvez synchroniser des fichiers dans deux répertoires en:
rsync -rv /path/to/directory1/ /path/to/directory2
Faire rsync -rv /path/to/directory1 /path/to/directory2
va créer directory1
dans directory2
, comme ceci /path/to/directory2/directory1/[files]
Vous pouvez effectuer un essai à sec en utilisant le -n
, comme ceci rsync -rnv /path/to/directory1/ /path/to/directory2
Il existe un outil Shell très pratique appelé rsnapshot - http://www.rsnapshot.org/ - utilitaire de capture instantanée du système de fichiers pour faire des sauvegardes de systèmes locaux et distants. qui utilise rsync et des liens physiques, ce qui permet de garder instantanément plusieurs sauvegardes complètes du système de fichiers. Il suffit de faire Sudo apt-get install rsnapshot
et de vérifier info rsnapshot
Si vous souhaitez une interface graphique sur un système hautement configurable, essayez FreeFileSync. Voir, par exemple: http://linuxnorth.wordpress.com/2011/11/29/file-and-folder-synchronization/ En particulier, vous souhaitez que l'option "Mise à jour" de la synchronisation "Copier les fichiers nouveaux ou mis à jour dans le dossier de droite", c'est-à-dire copier du dossier de gauche vers le dossier de droite dans un affichage à deux fenêtres.