25 votes

Utilisation de rsync pour la sauvegarde

Je sauvegarde actuellement le contenu d'un disque dur externe A en (1) supprimant tout ce qui se trouve dans le disque dur externe de destination B et (2) en copiant tout de A vers B (dans Finder). Le disque dur externe ne contient que des "données de base" (dossiers, images, vidéos, documents, etc.), rien d'extraordinaire ou de bizarre.

Mais avec tous les formidables outils gratuits qui existent, je n'ai pas pu en trouver un décent à sauvegarder (suggestions acceptées).

Je veux automatiser cela. Après quelques recherches, il semble que je puisse utiliser rsync . Je veux donc automatiser cela en utilisant rsync pour éviter de copier des fichiers qui se trouvent déjà sur le disque dur de destination (bien sûr, si une modification a été apportée, je veux mettre à jour le fichier/dossier ; de même pour les fichiers/dossiers supprimés ou les nouveaux fichiers/dossiers ; l'idée est d'imiter ce que je fais habituellement manuellement avec le Finder).

Je suis arrivé à ce point

rsync -av --progress --delete /Volumes/A/ /Volumes/B

Maintenant le journal est plein de fichiers dont le nom commence par . ou ._ ou même ._. . Sont-ils nécessaires ?

Question

Comment puis-je copier uniquement les fichiers qui comptent, en laissant derrière moi tous ceux qui ne comptent pas. Par exemple, si j'ai photo.png Je m'attendrais à copier photo.png pas ._photo.png ou de nombreux fichiers.

Quoi --exclude ou --exclude-from peut être utilisé en toute sécurité sur un Mac ? Peut-être qu'une bonne règle est "copiez juste tout ce que le Finder montre" qui est ce que je copierais si je passais manuellement par tous les dossiers.

 Question supplémentaire

Est -av --progress --delete suffisamment ? Suis-je en train de commettre un crime ou de risquer des données ? Quelles options utiliseriez-vous ?

S'il vous plaît, étayez votre réponse avec des arguments, je vous en serais reconnaissant.

Je cherche un moyen d'automatiser rsync qui semble assez puissant et gratuit à utiliser.

26voto

Graham Miln Points 39606

Pour une sécurité maximale, copiez tout

El le plus sûr option est de copier tout y compris les fichiers de méta-données invisibles.

Les fichiers ont tendance à exister pour une raison et, à mesure que les logiciels changent, l'existence, l'objectif et le contenu de ces fichiers de métadonnées changent également. Le fait de tout copier réduira la charge de maintenance et offrira la tranquillité d'esprit que rien n'est perdu.

Le fichier journal créé par rsync sera techniquement impliqué de par la nature même de l'entreprise. rsync étant un outil en ligne de commande. Envisagez de présenter une sortie nettoyée, filtrée par les méta-données et peut-être même codée en couleur pour que l'utilisateur puisse la vérifier. Vous pourriez faire cela avec un large éventail d'outils et de langages de script. Veuillez poser d'autres questions ici sur Demande différente et sur StackOverflow si vous avez besoin d'aide avec cette approche.

Supprimer les dernières et copier les ressources OS X

En ce qui concerne le rsync drapeaux, jetez un coup d'œil à la question Le moyen le plus rapide et le plus sûr de copier des données massives d'un disque externe à un autre . Dans cette question, quelques drapeaux supplémentaires sont utilisés et expliqués :

sudo rsync -vaE --progress --delete-after /Volumes/SourceName /Volumes/DestinationName

Dans cette situation, le E permettra de s'assurer que les fourches de ressources et autres propriétés spécifiques à Mac sont copiées.

Vous pouvez envisager --delete-after pour éviter la suppression jusqu'à ce que la copie soit terminée ; veuillez noter que cette approche nécessitera potentiellement un disque de destination deux fois plus grand que le disque source.

Exclusions possibles

Une réponse à une question connexe, Comment puis-je omettre les fichiers de rendu FCPX d'une sauvegarde Time Machine ? a fourni un lien utile de Les fichiers et dossiers OS X qui peuvent être exclus de la plupart des sauvegardes . Ce lien fournit une liste pratique de modèles de fichiers, de dossiers et de chemins que vous pouvez exclure.

Inclure les fichiers point

Il y a de bonnes raisons de sauvegarder les fichiers commençant par des points, .* les fichiers correspondants.

Certains logiciels conservent les préférences, les paramètres et d'autres informations de valeur dans des dossiers situés en haut du dossier de l'utilisateur, dans des dossiers préfixés par des points invisibles. Exécution de ls -la ~/ révélera ces dossiers et fichiers.

Si un utilisateur utilise ou possède un logiciel qui utilise à son tour un logiciel de contrôle de version, veillez à sauvegarder les fichiers de points. Des logiciels comme subversion y git tous deux stockent des informations critiques dans leurs dossiers de points. Ces dossiers cachés peuvent être dispersés dans votre système de fichiers, à chaque fois qu'un projet est extrait.

Spotlight et accès aux disques

Spotlight est le service de recherche d'OS X. Spotlight utilise le mdworker pour indexer et mettre à jour le catalogue de recherche. Si vous craignez une éventuelle corruption du disque ou des copies lentes, désactivation de mdworker en cours d'exécution rsync peut aider. Personnellement, je laisse Spotlight en marche pendant l'exécution de grosses rsync transferts.

7voto

rhettg Points 1452

Je ne suis pas tout à fait satisfait des réponses actuelles, mais je vais essayer de couvrir ici un peu les possibilités que j'ai vues sur le web en essayant de trouver une bonne configuration pour rsync .

Et, à propos, si quelqu'un est intéressé par les copies de Time Machine, il y a rsnapshot . Et il y a aussi Unison pour les syncronisations à double sens. De plus, il y a en fait quelques interfaces graphiques, comme Utilitaire de sauvegarde y arRsync Ce n'est pas exactement ce que je cherchais, mais ça peut faire l'affaire pour quelqu'un.

Tout d'abord, ma seule intention était de dupliquer des photos et des vidéos, donc la copie exacte n'était pas nécessaire, donc pas besoin de s'en soucier. trop . En fait, la plupart de mes doutes étaient de savoir si je pouvais tout exclure (la même chose qui se produirait si, par exemple, je téléchargeais une photo sur Internet, je télécharge juste un .png, tout le reste n'est pas téléchargé). mais autogénéré ).

Voici une liste non structurée de réflexions que vous pourriez prendre en compte

  • Si vous voulez vous assurer que votre ordinateur portable ne se met pas en veille, vous pouvez caffeinate le processus caffeinate -s rsync -av ... . Tiré de ici .

  • Si vous faites des copies locales, comme dans mon cas, ou même si la connexion internet n'est pas trop lente, vous devez pas utilice -z (compression), et utiliser l'option -W (transférer le fichier entier, plutôt que des transferts delta ; c'est un défaut quand c'est local) et probablement utiliser --inplace pour effectuer des transferts rapides. Tiré de ici .

  • Vous pouvez utiliser --delete-after Ainsi, tout fichier sera d'abord transféré, puis déplacé à destination (et l'original sera supprimé), ce qui est plus sûr que de le supprimer avant le transfert ou pendant le transfert.

  • Vous pouvez arrêter le transfert en appuyant sur ctrl + C et il s'arrêtera proprement. Tiré de ici . C'était l'une de mes craintes avec SuperDuper !, si vous devez arrêter un transfert, vous obtenez le message "Vous laisserez le disque dur dans un état inconnu ".

  • Dans les versions récentes, il y a --info=progress2 qui ajoute encore plus de détails à -v .

  • Il y a -P (ce qui équivaut à --partial y --progress ) qui laissera les fichiers à mi-transfert afin que vous puissiez continuer lorsque vous relancerez le processus (si pour une raison quelconque vous ne pouvez pas terminer la synchronisation en une seule fois).

  • Il peut être intéressant d'arrêter Spotlight ou TimeMachine avant de faire la copie, et de les réactiver après le transfert. Et même désactiver Spotlight pour le disque externe.

  • Les autres options utilisées dans toutes ces références comprennent -x (ou --one-file-system ), -E ( --executability ), -H ( --hard-links ), -X ( --xattrs ), -A ( --acls ), et --sparse , --hfs-compression , --protect-decmpfs . Vous voudrez peut-être les examiner.

Pour moi, une commande de base ressemble à ceci (je pourrais utiliser plus d'options, mais ceci est suffisant pour un exemple) :

caffeinate -s rsync -av --delete-after --progress --stats --exclude-from 'excludefile.txt' \
  "/Volumes/SrcHDD/" "/Volumes/DstHDD" # note the trailing slash / after the source

Dans mon cas, je pourrais simplement inclure {*.jpg,*.png,*.mp4,*.txt,*.pdf,…} et personne ne dirait "vous avez aussi besoin des fichiers système" mais comme je ne veux pas chercher tous les types de fichiers possibles, je préfère exclure. Et il y a des choses qui non seulement peuvent être, mais aussi semblent pratiques à exclure.

J'ai trouvé quelques liens, prenez ce que vous voulez :

  1. https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task

  2. https://gist.github.com/tvwerkhoven/4541989

  3. https://github.com/necolas/dotfiles

  4. https://gist.github.com/shkm/5531679

  5. http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html

  6. https://github.com/jedda/Counterpart

  7. http://alanwsmith.com/rsync-exclude-list-for-mac-osx

Et à partir de là, vous pourriez probablement obtenir ce qui est sûr ou sain d'ignorer. Voici la liste complète (j'ai juste supprimé les doublons)

.HFS+ Private Directory Data*
/.journal
/.journal_info_block
.AppleDouble
.AppleDB
/lost+found

.metadata_never_index
.metadata_never_index_unless_rootfs
/.com.apple.timemachine.donotpresent
.VolumeIcon.icns
/System/Library/CoreServices/.disk_label*
/TheVolumeSettingsFolder

.DocumentRevisions-V100*
.Spotlight-V100
/.fseventsd
/.hotfiles.btree
/private/var/db/systemstats

/private/var/db/dyld/dyld_*
/System/Library/Caches/com.apple.bootstamps/*
/System/Library/Caches/com.apple.corestorage/*
/System/Library/Caches/com.apple.kext.caches/*

/.com.apple.NetBootX

/Volumes/*
/dev/*
/automount/*
/Network/*
/.vol/*
/net

/private/var/folders/zz/*
/private/var/vm/*
/private/tmp/*
/cores/*

.Trash
.Trashes

/Backups.backupdb
/.MobileBackups
/.MobileBackups.trash
/.MobileBackups.trash

Library/Mobile Documents.*
.webtmp

/Library/Caches/CrashPlan
/PGPWDE01
/PGPWDE02
/.bzvol
/Library/Application Support/Comodo/AntiVirus/Quarantine
/private/var/spool/qmaster
$Recycle.Bin
Saved Application State
Library/Preferences/ByHost/com.apple.loginwindow*

.AppleDesktop
.com.apple.timemachine.supported
Network Trash Folder
/Library/Caches/*
/private/var/spool/postfix/*
$RECYCLE.BIN
/stuff/*
/afs/*
/private/var/run/*
/Previous Systems.localized
/tmp/*
.dbfseventsd
.DS_Store
.PKInstallSandboxManager
.SymAV*
.symSchedScanLockxz
.TemporaryItems
Desktop DB
Desktop DF
hiberfil.sys
pagefile.sys
Recycled
RECYCLER
System Volume Information
Temporary Items
Thumbs.db
AUTORUN.INF
Autorun.inf
autorun.inf

5voto

ylluminate Points 4352

Si vous utilisez rsync version 3.0.6 selon Carbon Copy Cloner ou 3.1.2 selon Homebrew, vous pouvez vous inspirer des arguments de Carbon Copy Cloner :

rsync -A -X -H -p --fileflags --force-change -l -N -rtx --protect-decmpfs --numeric-ids -go --delete-during --backup --backup-dir=</PATH/TO/STICK/BACKUP_when_using_delete> --protect-args <SRC>/ <DEST>

4voto

user3439894 Points 52496

Je déconseille l'élagage méta-données lors d'une sauvegarde, notamment le Dot-files par exemple ._$filename Cependant, si vous voulez vraiment exclure l'utilisateur de la liste, vous pouvez le faire. Dot-files de votre rsync commande ajouter --exclude '.*' à elle.

rsync -av --exclude '.*' --progress --delete /Volumes/A/ /Volumes/B

3voto

Krunal Points 2932

J'ai utilisé rsync pour les sauvegardes dans le cadre de plusieurs emplois, et je l'utilise à la maison.

Je le recommande vivement, mais avec quelques modifications. En tant qu'outil de sauvegarde, il est génial, mais en tant qu'outil d'archivage, il tombe un peu à plat. Oui, il copie tout, mais vous n'obtenez pas de versions de tout, vous obtenez toujours les dernières versions seulement.

J'ai utilisé ce guide http://www.mikerubel.org/computers/rsync_snapshots/ comme point de départ. Lisez toute la page. Elle explique très bien les options et décrit comment mettre en œuvre des sauvegardes incrémentielles. Et étonnamment, l'article a plus de 10 ans mais est toujours d'actualité. Il faut aimer Unix.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X