J'achète un disque dur externe pour sauvegarder les ordinateurs de ma maison (enfin !!). J'espère utiliser rsync. J'ai vu un exemple qui fait (ou semble faire) exactement ce que je veux. Quelque chose comme ça:
rsync -aE --delete /path/to/what/I/want/to/backup /Volumes/FW200/Backups
Cependant, en regardant la documentation et les exemples de rsync et ainsi de suite, les choses ont commencé à sembler BEAUCOUP plus compliquées que cela. Réseautage et démons et jargon, oh mon Dieu!
Je suppose qu'aucun de ces trucs n'est nécessaire tant que je rsynchronise simplement d'un ordinateur vers un disque externe connecté au firewire. Je me trompe en supposant cela? Les choses vont-elles vraiment être plus compliquées que ce commandement inoffensif?
Réponses:
Rsync fonctionne correctement sur les disques locaux. Cependant, s'il détecte des chemins locaux, il passe automatiquement en mode --whole-file qui ne copie pas les différences, mais copie simplement le fichier source sur le fichier de destination. Cependant, Rsync ignorera toujours les fichiers qui n'ont pas changé du tout. Lorsque la bande passante entre la source et la destination est élevée (comme deux disques locaux), cela est beaucoup plus rapide que de lire les deux fichiers, puis de copier uniquement les bits modifiés.
la source
J'utilise rsync avec les drapeaux suivants facilement mémorisables comme «glop» et «trunc» et «v».
rsync -gloptrunc $srcdir $dstdir
Un petit guide:
remarque: sur les systèmes de fichiers locaux, cela est remplacé et des fichiers entiers sont copiés à la place.
J'exécute toujours ce qui précède pour m'assurer que cela fonctionne, puis je supprime l'indicateur 'n' qu'une fois que je suis satisfait des résultats.
Les principales caractéristiques des combinaisons ci-dessus:
J'utilise ceci pour garder deux machines synchronisées, ou pour garder des sous-répertoires synchronisés (comme sauvegarder sur une clé USB).
Comme l'un des autres messages a déclaré plus tôt, la «somme de contrôle» peut en fait être désactivée si vous avez affaire à des lecteurs locaux.
Dans de rares cas, j'ai dû ajouter des paramètres supplémentaires pour tenir compte des modifications des comptes de connexion sur les machines distantes, des changements de ports et même de spécifier où «rsync» réside sur l'hôte distant ... mais ceux-ci ne s'appliquent pas directement à votre question.
la source
rsync -gloptrunc --delete --delete-excluded $srcdir $dstdir
. Le--delete
dit de supprimer tout ce qui n'est pas dans la source dans la destination, et--delete-excluded
dit de supprimer également les fichiers exclus dans la destination qui ne devraient normalement pas être suivis ou copiés. Si vous utilisez--delete-excluded
, techniquement, vous n'avez pas besoin de l'utiliser également--delete
, mais vous pouvez tout de même les utiliser tous les deux. Les détails sont dans les pages de manuel ici: linux.die.net/man/1/rsync .Rien de tout cela n'est nécessaire, vous pouvez utiliser rsync sans aucun démon ni aucun autre type de configuration JUSTE FINE!
Utilisez simplement la commande rsync et vous êtes prêt à partir.
la source
À en juger par le chemin dans votre commande rsync, aurais-je raison de penser que vous utilisez Mac OS X?
Personnellement, je choisirais d'utiliser Time Machine (si vous utilisez Leopard) ou Carbon Copy Cloner ( http://www.bombich.com/software/ccc.html ) qui utilise rsync.
Beaucoup plus facile que d'essayer de corriger votre propre script. Un avantage est que Time Machine et CCC vous offriront tous deux des sauvegardes incrémentielles.
la source
L'exemple que vous avez utilisé semble fonctionner correctement pour les sauvegardes.
Cependant, une chose que vous voudrez peut-être considérer lors de l'utilisation de rsync est d'utiliser l'option --link-dest. Cela vous permet de conserver plusieurs sauvegardes, mais d'utiliser des liens durs pour tous les fichiers inchangés, ce qui fait que toutes les sauvegardes prennent la place d'une sauvegarde incrémentielle. Un exemple d'utilisation serait:
Cela suppose que vous disposiez d'une sauvegarde datée du 12 juin et que vous souhaitiez en créer une nouvelle le 13 juin. Vous souhaiterez peut-être omettre l'option -v si vous ne souhaitez pas imprimer tous les fichiers.
la source
Cela dépend vraiment si vous exécutez des bases de données ou non. Rsync récupérera un instantané de chaque fichier et ignorera toutes les écritures intermédiaires. Si vous souhaitez sauvegarder une base de données, vous devez envisager de configurer un filtre d'ignorance et d'exécuter les outils de vidage de base de données avant la synchronisation.
la source
Votre commande telle qu'elle est écrite devrait fonctionner, mais vous voudrez peut-être regarder un programme appelé rsnapshot qui est construit au-dessus de rsync et conserve plusieurs versions de fichiers afin que vous puissiez revenir en arrière et regarder les choses telles qu'elles étaient la semaine dernière ou le mois dernier. La configuration est assez facile et elle est vraiment bonne pour l'optimisation de l'espace, donc à moins que vous n'ayez beaucoup de désabonnement, cela ne prend pas beaucoup plus d'espace qu'une seule sauvegarde.
la source
Vous n'avez pas mentionné votre système d'exploitation. En partant de l'hypothèse que son système d'exploitation basé sur * nix, votre commande est bonne.
Cependant, si un ou les deux disques sont au format NTFS, accessibles à partir de * nix ou même à partir de Windows à l'aide de Mobaxterm / cygwin, la fonctionnalité incrémentielle rsync ne fonctionnerait pas bien avec
rsync -a (archive flag)
Si des lecteurs NTFS sont impliqués, vous pouvez utiliser:
Téléchargez le client Mobaxterm ssh pour avoir la fonctionnalité rsync sous Windows.
Voici plus d'informations sur l'utilisation de rsync avec des lecteurs NTFS
la source
J'ai essayé d'utiliser rsync pour la sauvegarde, mais cela a fini par être un gâchis. rsync est mieux adapté à la «synchronisation» qu'à la sauvegarde. Et cela va pour toujours de comparer de gros fichiers.
J'ai fait des recherches un peu et j'en ai essayé plusieurs (essentiellement tester tout le monde à partir de la sauvegarde de recherche apt-cache dans ubuntu).
Enfin, je me suis retrouvé avec « backup2l - outil de sauvegarde / restauration à faible maintenance», c'est facile. J'aime la façon dont il gère la planification et la rotation (en niveaux). Je l'exécute chaque fois que mon lecteur externe USB est connecté à partir de la ligne de commande, mais vous pouvez également l'automatiser.
la source
Essayez dirvish pour faire la sauvegarde. http://www.dirvish.org/
Il utilise les liens physiques de rsync dans les soi-disant coffres. Vous pouvez conserver autant de vos anciens vidages que le disque USB peut en contenir. Ou configurez-le de manière automatisée.
Une fois que vous comprenez l'idée de dirvish, il est plus pratique à utiliser que rsync avec toutes ses options.
la source
Je trouve une solution pour un ordinateur Windows: http://www.itefix.no/i2/node/10650
Pour copier la partition D: \ sur un lecteur externe K: \
rsync -aE --delete --progress /cygdrive/d/* /cygdrive/k
la source