Je sauvegarde actuellement le contenu d'un disque dur externe A en (1) supprimant tout sur le disque dur externe de destination B et (2) copiant tout de A vers B (dans le Finder). Le disque dur externe ne contient que des «données de base» (dossiers, images, vidéos, documents, etc.), rien d'extraordinaire / bizarre.
Mais avec tous les outils gratuits incroyables qui existent, je n'ai pas pu trouver un bon outil à sauvegarder (suggestions acceptées).
Je veux automatiser cela. Après quelques recherches, il semble que je puisse l'utiliser rsync
. Je veux ensuite automatiser cela en utilisant rsync
pour éviter de copier des fichiers qui sont 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; la même chose avec 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 tous ceux qui ne comptent pas derrière. Par exemple, si je l'ai, photo.png
je m'attendrais à copier photo.png
, pas ._photo.png
ou beaucoup de fichiers.
Quoi --exclude
ou --exclude-from
peut être utilisé en toute sécurité sur un Mac? Une bonne règle est de «copier tout ce que le Finder montre», ce que je copierais si je passais manuellement dans tous les dossiers.
Question supplémentaire
C'est -av --progress --delete
assez? Suis-je en train de commettre un crime ou de risquer certaines données? Quelles options utiliseriez-vous?
S'il vous plaît, soutenez votre réponse avec quelques arguments, je l'apprécierais.
Je cherche un moyen d'automatiser rsync
qui semble assez puissant et gratuit à utiliser.
la source
Réponses:
Pour une sécurité maximale, copiez tout
L' option la plus sûre est de tout copier , y compris les fichiers de métadonnées invisibles.
Les fichiers ont tendance à exister pour une raison et à mesure que le logiciel change, il en sera de même de l'existence, de l'objectif et du contenu de ces fichiers de métadonnées. Tout copier réduira le fardeau de la maintenance et vous donnera la certitude que rien ne se perd.
Le fichier journal créé par
rsync
sera techniquement impliqué par la nature même d'rsync
un outil en ligne de commande. Pensez à présenter une sortie ordonnée, filtrée par métadonnées et peut-être même codée en couleur pour que l'utilisateur puisse la vérifier. Vous pouvez le faire avec un large éventail d'outils et de langages de script. Veuillez poser plus de questions ici sur Ask Different et sur StackOverflow si vous avez besoin d'aide avec cette approche.Supprimer les dernières ressources et copier les ressources OS X
En ce qui concerne les
rsync
indicateurs, jetez un œil à la question sur le moyen le plus rapide et le plus sûr de copier des données massives d'un disque externe vers un autre . Dans cette question, quelques indicateurs supplémentaires sont utilisés et expliqués:Dans cette situation, le
E
s'assurera que les fourchettes de ressources et autres propriétés spécifiques à Mac sont copiées.Vous voudrez peut-être
--delete-after
éviter de supprimer jusqu'à ce que la copie soit terminée; veuillez noter que cette approche nécessitera potentiellement un lecteur de destination deux fois la taille de la source.Exclusions possibles
Une réponse à une question connexe, Comment puis-je omettre les fichiers de rendu FCPX d'une sauvegarde Time Machine? , fournit un lien utile vers 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 d'accès que vous pouvez exclure.
Inclure les fichiers à points
Il existe de bonnes raisons de sauvegarder des fichiers commençant par des points,
.*
des fichiers correspondants.Certains logiciels conservent les préférences, les paramètres et d'autres informations de valeur dans des dossiers en haut du dossier de l'utilisateur dans des dossiers préfixés par des points invisibles. L'exécution
ls -la ~/
révélera ces dossiers et fichiers.Si un utilisateur utilise ou possède un logiciel qui à son tour utilise un logiciel de contrôle de version, assurez-vous de sauvegarder les fichiers de points. Des logiciels comme subversion et git stockent tous deux des informations critiques dans leurs dossiers de points. Ces dossiers cachés peuvent être dispersés dans votre système de fichiers, où qu'un projet soit extrait.
Projecteur et accès au disque
Spotlight est le service de recherche d'OS X. Spotlight utilise le
mdworker
processus pour indexer et mettre à jour le catalogue de recherche. Si vous êtes préoccupé par une possible corruption du disque ou des copies lentes, la désactivationmdworker
pendant l'exécutionrsync
peut vous aider. Personnellement, je laisse Spotlight en cours d'exécution lors de grandsrsync
transferts.la source
rsync
.E
et--delete-after
sont les points clés qui font de cette réponse une réponse gagnante.-E
, dans les versions plus récentes, il y a-X
ce que je vois recommandé à certains endroits, lequel est le bon? Ou les deux? Je voudrais un pseudo-complet à jour qui couvre la plupart des inquiétudes générales. La copie de fichiers Spotlight serait-elle plus simple et plus rapide que leur création? Comment puis-je arrêter Spotlight pour ne pas gâcher entre-temps? Qu'encaffeinate
est-il du processus? Ou peut-être que si c'est juste une liste de sauvegarde, il n'est pas indexable par Spotlight, encore moins de soucis, etc. Beaucoup de ces questions ont été résolues à coup sûr.Si vous utilisez la
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>
la source
--protect-decmpfs
n'est plus disponible à partir de 3.1.3, voir github.com/Homebrew/homebrew-core/pull/23415 .Je déconseille l'élagage des métadonnées pendant une sauvegarde, en particulier les fichiers dot
._$filename
, par exemple , cependant si vous voulez vraiment exclure les fichiers dot de votrersync
commande, ajoutez---exclude '.*'
y.la source
'.*'
et'/.*'
?). Je ne pense pas que le Finder les copie tous, peut-être simplement certains associés. Dans ce cas, je préférerais exclure uniquement ceux qui sont inutiles (par exemple,.DS_Store
). Et oui, ceux qui pourraient être importants, mais que je ne veux pas avoir dans mon journal, je peux les filtrer avec des expressions régulières.A
disque.Je ne suis pas complètement satisfait des réponses actuelles, mais je vais essayer de couvrir ici un peu des possibilités que j'ai vues sur le Web en essayant de trouver une bonne configuration pour
rsync
.Et, au fait, si quelqu'un s'intéresse à Time Machine comme les copies, il y en a
rsnapshot
. Et il y a aussi Unison pour les syncronisations bidirectionnelles. De plus, il existe en fait quelques interfaces graphiques, comme l' utilitaire de sauvegarde et arRsync ; pas exactement ce que je cherchais, mais ils pourraient faire le travail pour quelqu'un.Tout d'abord, ma seule intention était de dupliquer des photos et des vidéos, donc une copie exacte n'était pas nécessaire, donc pas besoin de trop s'en soucier . En fait, la plupart de mes doutes étaient de savoir si je pouvais tout exclure (la même chose se produirait si, par exemple, je téléchargeais une photo sur Internet, je téléchargeais simplement un fichier .png, tout le reste n'était pas téléchargé mais généré automatiquement ).
Voici une liste non structurée de réflexions que vous voudrez peut-être prendre en compte
Si vous souhaitez vous assurer que votre ordinateur portable ne se met pas en veille, vous souhaiterez peut-être
caffeinate
le processuscaffeinate -s rsync -av ...
. Pris d' ici .Si vous faites des copies locales, comme dans mon cas, ou même si la connexion Internet n'est pas trop lente, vous ne devez pas utiliser l'
-z
option (compression), et utiliser-W
(transférer le fichier entier, plutôt que les transferts delta; c'est une valeur par défaut lorsque local) et probablement utiliser--inplace
pour effectuer des transferts rapides. Pris d' ici .Vous pouvez l'utiliser
--delete-after
pour que tout fichier soit d'abord transféré, puis déplacé sur la destination (et supprimé l'original) et soit plus sûr que la suppression avant le transfert ou pendant le transfert.Vous pouvez arrêter le transfert en appuyant sur ctrl + C, et il s'arrêtera proprement. Pris d' 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
encore plus de détails-v
.Il y a
-P
(ce qui équivaut à--partial
et--progress
) qui laissera les fichiers transférés à mi-chemin afin que vous puissiez continuer lorsque vous redémarrez le processus (si pour une raison quelconque, vous ne pouvez pas mettre fin à la synchronisation immédiatement).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.
D' 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 regarder.Pour moi, une commande de base ressemble (je pourrais utiliser plus d'options, mais cela suffit pour un exemple):
Maintenant, dans mon cas, je pourrais simplement inclure
{*.jpg,*.png,*.mp4,*.txt,*.pdf,…}
et personne ne dirait "vous avez également besoin de fichiers système" mais comme je ne veux pas rechercher pour obtenir tous les types de fichiers possibles dont j'ai des fichiers, je préfère exclure. Et il y a des choses qui non seulement peuvent être mais semblent commodes à exclure.J'ai trouvé quelques liens, prenez ce que vous voulez:
https://bombich.com/kb/ccc4/some-files-and-folders-are-automatically-excluded-from-backup-task
https://gist.github.com/tvwerkhoven/4541989
https://github.com/necolas/dotfiles
https://gist.github.com/shkm/5531679
http://www.hackurmac.com/2014/08/backing-up-and-restoring-your-hackintosh.html
https://github.com/jedda/Counterpart
http://alanwsmith.com/rsync-exclude-list-for-mac-osx
Et à partir de là, vous pourriez probablement obtenir ce qui est sûr ou raisonnable à ignorer. Voici la liste complète (je viens de supprimer les doublons)
la source
J'ai utilisé rsync pour les sauvegardes à plusieurs travaux, et je l'utilise à la maison.
Je le recommande fortement, mais avec quelques modifications. En tant qu'outil de sauvegarde, c'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 uniquement.
J'ai utilisé ce guide http://www.mikerubel.org/computers/rsync_snapshots/ comme point de départ. Lisez la page entière. Il explique très bien les options et décrit comment vous pouvez implémenter des sauvegardes incrémentielles. Et étonnamment, l'article a plus de 10 ans mais est toujours applicable aujourd'hui. Je dois aimer Unix.
la source
rsync
. Dans tous les cas, bon lien, il couvre beaucoup dersync
mais il est aussi aujourd'hui un outil pour faire exactement cela:rsnapshot
.