Comment archiver automatiquement un répertoire?

46

Je veux faire une synchronisation unidirectionnelle.

J'ai Folder A sur mon ordinateur qui est constamment mis à jour avec le contenu.
Un autre Folder B est utilisé à des fins de sauvegarde sur le disque dur externe.

Maintenant, ce que j'attends, c'est que tout élément supplémentaire présent dans le dossier A doit aller au dossier B. Cependant, quelque chose qui est présent dans B et NOT dans A "" NE doit PAS être copié dans A "".

En résumé, le dossier de sauvegarde peut tout copier à partir du dossier source, mais rien ne doit être copié dans le dossier de sauvegarde de la source.

    
posée Z9iT 06.06.2012 - 14:14
la source

9 réponses

61

Cela semble être une tâche parfaite pour rsync

sudo rsync -az /path_to/A /path_to/B
  

-a mode d'archivage (implique récursif, copier des liens symboliques en tant que liens symboliques, conserver 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 des fichiers supprimés dans A des fichiers de B, utilisez l’option --delete

Pour plus d’informations, voir:

lien

Vous pouvez lancer rsync depuis cron

sudo crontab -e

Ajouter une tâche horaire

@hourly rsync /path_to/A /path_to/B

lien

    
réponse donnée Panther 06.06.2012 - 14:33
la source
15

Je suggère d'utiliser rsync à cette fin. Rsync est extrêmement rapide, stable et polyvalent. Une bonne introduction à lien

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 copiera de folderA à 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.

    
réponse donnée JIm 06.06.2012 - 14:39
la source
8

J'ai toujours trouvé Unison très utile. Il a une interface basée sur du texte ou une interface graphique, et plusieurs options différentes pour l'ajuster à ce que vous voulez (avec un peu de violon). Cela prend un peu de temps pour faire la première synchronisation, mais après c'est génial. Vous pouvez le faire synchroniser à sens unique, comme vous le souhaitez, mais cela se fera automatiquement. Il peut également supprimer de la sauvegarde ou non comme vous le souhaitez.

Vous pouvez également trouver des problèmes avec des autorisations qui sont prises en charge dans le format de fichier Ubuntu, mais peut-être pas dans le disque dur externe (selon que le disque dur externe va être utilisé dans une machine Windows, cela peut être une bonne chose) ), afin que vous souhaitiez synchroniser sans les autorisations potentielles.

Quoi qu’il en soit, le tutoriel est très simple à configurer une fois, puis il s’agit d’une interface graphique à chaque fois que vous voulez le faire.

Voici quelques informations à ce sujet: lien

Et voici le tutoriel: lien

    
réponse donnée Dr Xorile 26.10.2012 - 01:49
la source
4
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

Cela synchronisera et copiera uniquement les données qui n'existent pas dans /other/folder/on/hdd/

    
réponse donnée drN 26.10.2012 - 02:22
la source
2

Je suis d’accord avec les autres réponses, vous pouvez utiliser dans rsync dans Terminal ou les interfaces Grsync , luckyBackup , Conduire ou le célèbre Unison .

Une autre application intéressante est Krusader (un gestionnaire de fichiers à deux panneaux pour KDE). Dans le menu Outils, vous pouvez trouver "Syncronize Directories".

Dans la dernière instance, vous pouvez installer Wine et installer un autre gestionnaire de fichiers à deux volets tel que Total Commander .

Quoi qu’il en soit, vous avez beaucoup d’options et toutes sont présentes dans le Centre logiciel Ubuntu.

    
réponse donnée Raúl F. Castro S. 23.01.2013 - 20:36
la source
1

Je recommande Conduit pour une synchronisation simple. Il est disponible dans le logiciel. Il fait exactement ce que vous cherchez

    
réponse donnée jasonwert 06.06.2012 - 14:36
la source
0

Il existe un outil shell très pratique appelé rsnapshot - lien - utilitaire de capture instantanée du système de fichiers pour effectuer des sauvegardes de systèmes locaux et distants. qui utilise rsync et liens durs, ce qui permet de garder plusieurs sauvegardes complètes du système de fichiers instantanément disponibles. Il suffit de faire sudo apt-get install rsnapshot et de vérifier info rsnapshot

    
réponse donnée user1180249 23.01.2013 - 18:51
la source
0

Vous pouvez synchroniser les fichiers dans deux répertoires par:

rsync -rv /path/to/directory1/ /path/to/directory2

Faire rsync -rv /path/to/directory1 /path/to/directory2 créera directory1 inside directory2 , comme ceci /path/to/directory2/directory1/[files]

Vous pouvez faire un essai avec -n switch, comme ceci: rsync -rnv /path/to/directory1/ /path/to/directory2

Référence: lien

    
réponse donnée subhojit777 19.10.2014 - 11:06
la source
0

Si vous souhaitez une interface graphique sur un système hautement configurable, essayez FreeFileSync. Voir, par exemple: lien En particulier, vous voulez la "mise à jour" option de synchronisation qui "Copiera les fichiers nouveaux ou mis à jour dans le dossier de droite", c.-à-d. copie du dossier de gauche vers le dossier de droite dans un affichage à deux fenêtres.

    
réponse donnée CentaurusA 23.01.2013 - 19:01
la source

Lire d'autres questions sur les étiquettes