Existe-t-il un moyen plus rapide de copier des fichiers Time Machine d'un disque vers un autre?

15

J'essaie de déplacer mes fichiers de sauvegarde de Time Machine tous sous Backups.backupdb vers un autre lecteur. J'ai initié une copie de fichier pendant la nuit (b / c j'ai vu qu'il a fallu une éternité à OSX pour préparer la copie ... cela comptait essentiellement les fichiers pendant des heures). Le matin, j'ai vu que seules certaines sauvegardes (dossiers avec dates) étaient copiées. J'ai ensuite essayé de copier ceux qui n'avaient pas été copiés ... mais le système d'exploitation ne me permettait pas de le faire. J'ai eu et erreur que "L'opération ne peut pas être terminée car les éléments de sauvegarde ne peuvent pas être modifiés." Mon plan consiste donc à supprimer la copie incomplète sur le nouveau lecteur, puis à réessayer de copier le dossier Backups.backupdb.

Assez frustrant. Existe-t-il un moyen plus rapide de copier ces fichiers via une commande de terminal afin qu'il n'effectue pas toute la préparation du comptage de fichiers?

Je peux probablement tarir tout le dossier et ensuite faire une copie, mais cela va-t-il interférer avec les autorisations de fichier, etc.? La seule chose avec cette approche est que je n'ai plus d'espace sur mon volume source pour le tar.

MISE À JOUR

J'ai essayé certaines des méthodes suggérées ci-dessous, en utilisant spécifiquement la fonction de restauration de l'Utilitaire de disque et cela me donne des messages d'erreur et des résultats inattendus (du moins pour moi). J'ai essayé de faire la restauration de deux manières:

  • Avec "Effacer la destination" cochée: Chaque fois (j'ai essayé deux fois), lorsque la restauration est terminée, je vois un message "Impossible de restaurer - Opération non valide" et "Impossible de restaurer - Argument non valide". Cependant, mon disque de destination obtient une copie de mes fichiers TM. La chose étrange est que mon disque de destination est EXACTEMENT comme mon disque source ... même la taille. Mon disque de destination est en fait de 1 To, mais après la restauration, il affiche 200 Go lorsque je reçois des informations du Finder. Mais dans l'Utilitaire de disque, il montre une partition de 1 To!

J'ai ensuite essayé de vérifier / réparer le disque et j'ai obtenu:

    Taille de nœud d'arbre B non valide
    Vérification du volume HFS Plus journalisé.
    Taille de nœud d'arbre B non valide
    Réparation du volume terminée.
    Mise à jour des partitions de prise en charge de démarrage pour le volume selon les besoins.
    Erreur: l'Utilitaire de disque ne peut pas réparer ce disque. Sauvegardez autant de vos fichiers que possible, reformatez le disque et restaurez vos fichiers sauvegardés.

Je ne sais pas si je suis même supposé vérifier / réparer un disque TM ...

  • Avec "Effacer la destination" décochée: la restauration ne démarre jamais et j'obtiens:
    Restauration impossible - Opération non autorisée
milesmeow
la source
2
Je pense que cela tient bien - l'autre question porte sur la charge d'E / S de la copie des liens durs, mais est enveloppée dans le réseau et l'enceinte de la capsule temporelle, c'est donc un cas particulier du problème général posé ici.
bmike
Si vous pouvez mettre à niveau vers MacOS 10.13.4+, le bogue qui empêchait la copie des alias / liens durs dans le Finder a été corrigé. Je l'ai essayé moi-même pour copier un disque Time Machine de sauvegarde sur un autre et cela a fonctionné parfaitement (et c'était assez rapide aussi). Plus d'informations ici: apple.stackexchange.com/a/323691/261070 .
youngrrrr

Réponses:

13

Une copie normale (ou une copie via rsync ou idem) ne répliquera pas complètement Time Machine car elle convertira deux répertoires liés ensemble (comme cela se produit dans les sauvegardes TM successives sans changement entre) en deux répertoires distincts.

La meilleure façon est de copier tout le disque en utilisant l'Utilitaire de disque ou la partie de copie de bloc de Carbon Copy Cloner et probablement similaire sur SuperDuper .

user151019
la source
1
A partir de la page de manuel ditto: "ditto conserve les liens durs des fichiers (mais pas les liens durs des répertoires) présents dans les répertoires sources" donc pas d'aide ici. Il s'agit soit d'Utilitaire de disque, soit d'un outil comme SuperDuper ou CCC.
nohillside
@patrix Merci - la page de manuel Web ne dit rien à ce sujet - CCC utilise idem ou rsync pour la copie, donc ne le fera que s'il fait une copie de bloc help.bombich.com/kb/troubleshooting/…
user151019
Mon disque source contient uniquement la sauvegarde Time Machine. Mon disque de destination contient d'autres fichiers. Je ne veux pas de clone de mon disque source. Je veux juste copier les fichiers Time Machine sur le disque de destination.
milesmeow
3
Après de nombreuses tentatives pour copier mes fichiers TM sur un nouveau disque, l'Utilitaire de disque et Carbon Copy Cloner N'ONT PAS tous les deux fait l'affaire. SuperDuper l'a parfaitement fait lors de la première exécution et n'a pas réduit la taille de ma partition de destination!
milesmeow
2
Encore un vote pour SuperDuper! ici. La v3.2.4 a copié avec succès un gros dossier de sauvegarde Time Machine sur un nouveau disque, sous macOS 10.14.2 Mojave, sans qu'il prenne plus d'espace. (Ce que le Finder n'a pas pu faire…) Time Machine continue joyeusement à utiliser le nouveau disque comme s'il était l'ancien.
gidds
5

En migrant un disque chiffré complet de 3 To de Time Machine vers un nouveau disque de 8 To sur macOS 10.14, j'ai rencontré toutes sortes de problèmes. Une tentative de restauration dans l'Utilitaire de disque s'est soldée par une erreur «impossible de valider la source» ou «Opération non autorisée». En essayant d'autres suggestions dans ce post et d'autres, j'ai pu obtenir de nouveaux messages d'erreur excitants comme «Le fichier de catalogue sur l'image / le volume est trop mal fragmenté», mais pas de copie.

Ce qui a finalement fonctionné, au terminal:

  1. Effacez le nouveau disque avec l'Utilitaire de disque, en respectant le format du lecteur source: MacOS étendu (journalisé, crypté)
  2. Utilisez diskutil cs listdans le terminal pour obtenir la taille d'octet exacte du volume logique sur l'ancien lecteur et le GUID du nouveau volume logique, ainsi que les numéros de disque pour les deux, par exemple disk4.
  3. Utilisez la taille d'octet exacte de l'étape 2 comme taille du nouveau volume. Dans mon cas, avec un lecteur de 3 To, c'était 2 999 772 905 472 octets:

    sudo diskutil cs resizeVolume $new_lv_guid 2999772905472
    
  4. En utilisant la pvcommande de homebrew, faites une copie de bloc de bas niveau des disques. Cela ressemble beaucoup à l'utilisation dd, sauf que vous obtenez un indicateur de progression avec ETA.

    Vous devez obtenir les numéros de disque à partir de la diskutil cs listsortie. Faites attention. Il est très facile d'écraser accidentellement votre disque de sauvegarde complet avec le nouveau disque vierge ici.

    sudo sh -c "$(which pv) --buffer-size 50M -s 2999772905472 < /dev/rdisk${source} > /dev/rdisk${target}"
    

    Si vous obtenez une erreur d'autorisation refusée / opération non autorisée ici, accédez aux Préférences de sécurité et de confidentialité et ajoutez l'accès complet au disque pour Terminal.app.

    Pour moi, cela a pris environ 10 heures - je l'ai laissé fonctionner pendant la nuit - mais, avec pv, au moins, vous obtenez un indicateur de progression avec un ETA.

  5. Maintenant, augmentez le volume pour occuper tout l'espace restant sur le lecteur:

    sudo diskutil cs resizeVolume $new_lv_guid 0
    

    Cela m'a pris environ 3 heures, avec environ 5 ans de sauvegardes. La plupart de ce temps a été consacré à macOS fsck.

Vous pouvez maintenant profiter de votre nouveau lecteur Time Machine plus spacieux. Vous pouvez réutiliser l'ancien, ou le ranger dans un endroit sûr au cas où quelque chose arriverait au nouveau lecteur.


Les étapes de redimensionnement semblent être importantes; les ignorer a entraîné une copie de fichier de 10 heures qui a donné un volume de 8 To contenant un système de fichiers de 3 To que je ne pouvais pas comprendre comment redimensionner.


MISE À JOUR Un inconvénient potentiel de cette approche est que, comme il s'agit d'une copie bit à bit, les identificateurs sont les mêmes entre l'ancien disque et le nouveau disque. Si je connecte l'ancien disque complet, Time Machine pense que c'est le nouveau disque, essaie de sauvegarder et commence à supprimer les anciennes sauvegardes pour faire de la place pour les nouvelles. Cela semble être une bonne approche pour déplacer des données vers un disque plus grand où l'ancien disque plus petit sera ensuite effacé.

andrew
la source
Bonjour Andrew! Merci d'avoir pris le temps de taper ce guide étape par étape (et j'espère l'utiliser pour transférer ma sauvegarde de 1 To sur un disque de 4 To, ce qui jusqu'à présent n'a pas réussi car les dossiers et fichiers copiés par le Finder prendre beaucoup plus d'espace sur le nouveau disque que celui d'origine). Ma question est la suivante: puis-je faire ces étapes sans que le cs corestorage soit activé? L'activation du stockage de base semble être un PITA potentiellement inutile , mais cela peut être nécessaire en raison de l'étape 3 du guide.
Michael Dautermann
@MichaelDautermann Core Storage est nécessaire pour FileVault qui est extrêmement fortement recommandé pour les lecteurs de sauvegarde, afin de protéger votre vie privée en cas de perte, de vol ou d'élimination incorrecte.
andrew
Je voudrais ajouter que je n'ai pas pu copier avec la méthode mentionnée. La raison en est que le système a demandé que cette "opération ne soit pas autorisée". Après une brève recherche, j'ai découvert que je dois désactiver toutes les fonctionnalités SIP. Cela peut être fait en redémarrant macOS en maintenant la commande + R et en ouvrant un terminal. Ici, vous devez désactiver en tapant "csrutil disable". Au redémarrage suivant, j'ai pu copier la sauvegarde TM
Oliver Koehler
@andrew ma version est 10.14.6 et je comprends parfaitement le risque que vous avez mentionné. Cependant, je n'ai pas pu sauvegarder ou sauvegarder mon TimeMachine - sauvegarde sans désactiver SIP. S'il y a une autre façon, je serais heureux d'entendre.
Oliver Koehler
Je reçois toujours "pv: écriture échouée: erreur d'entrée / sortie" à 99% (après 30 heures, 3 tentatives - donc vraiment 90 heures). Les disques sont démontés. Les fonctions SIP sont désactivées. Googler l'erreur n'est rien. Similaire à la situation d'origine (3 To -> 8 To). sudo sh -c "$(which pv) --buffer-size 50M -s 3000249008128 < /dev/rdisk3 > /dev/rdisk5"- le 8tb a été précédemment redimensionné avec succèsResized Core Storage Logical Volume to 3,000,249,008,128 bytes
ks
2

Pourquoi ne pas simplement utiliser le terminal:

cp -RnpP Backups.backupdb
  • -R récursif
  • -n ne pas écraser (s'il reste des copies existantes de la tentative précédente)
  • -p conserver les ACL, les autorisations, les dates de création / modification, etc.
  • -P conserver les liens durs, ne pas suivre de liens durs ou de liens symboliques.
chasseurs
la source
Ce n'est pas vrai. Lisez man cppour macOS. La cpcommande standard livrée avec macOS ne copie pas les liens durs avec -P. La page de manuel indique en fait "Notez que cp copie les fichiers liés en dur en tant que fichiers séparés. Si vous devez conserver les liens durs, envisagez d'utiliser tar (1), cpio (1) ou pax (1) à la place."
chmac
0

Cette réponse ne le fera pas plus rapidement, mais j'ai trouvé un moyen de copier correctement les données tout en préservant la déduplication (liens durs) et les autorisations. En prime, je l'utilise pour créer un dmg compressé du produit final pour l'archivage.

  1. À l'aide des utilitaires de disque, créez une image disque plus grande que votre répertoire Backups.backupdb. Je suggérerais également que vous utilisiez une image de disque groupée clairsemée pour le format d'image et un disque dur pour les partitions. Une fois cette image montée, obtenez des informations dessus et désélectionnez Ignorer la propriété sur ce volume.

  2. Désactivez maintenant Time Machine et, à l'aide du Finder, copiez le dossier Backups.backupdb dans l'image montée. Le chercheur vous demandera des autorisations de superutilisateur pour copier les données. Prenez un verre ou faites autre chose pendant un moment.

  3. Une fois la copie terminée, assurez-vous que tout va bien et démontez l'image. Dans Utilitaire de disque, sélectionnez Convertir et transformez l'image groupée clairsemée en une image compressée. Encore une fois, cela peut prendre un certain temps.

Vous devriez vous retrouver avec deux copies de votre sauvegarde Time Machine, vous pouvez supprimer la version groupée clairsemée et placer le dmg en lieu sûr en tant qu'archive dans le temps.

Une chose que je n'ai pas essayée avec cela est de faire une restauration du système à partir du dmg, mais je soupçonne que cela devrait fonctionner, mon objectif était plus d'archiver les modifications incrémentielles de la machine à remonter le temps et de conserver la structure du lien dur.

J'ai également essayé rsync et cp, mais ils ne semblaient pas conserver la structure du lien dur qui finirait par faire x fois la taille, x étant le nombre de dates que vous aviez dans le passé. Cette méthode a bien fonctionné, mais encore une fois, la vitesse d'une solution de copie de bloc peut ne pas être rapide.

hanz
la source
0

Apple a un tutoriel officiel pour cela: " Time Machine: Comment transférer des sauvegardes d'un lecteur de sauvegarde actuel vers un nouveau lecteur de sauvegarde ".

Les étapes de haut niveau de cette page:

  1. Vérifiez le format de votre nouveau lecteur de sauvegarde
  2. Définissez des autorisations sur votre nouveau lecteur de sauvegarde
  3. Désactiver temporairement Time Machine
  4. Copiez vos données de sauvegarde de votre disque d'origine vers votre nouveau disque
  5. Configurer Time Machine pour utiliser votre nouveau lecteur

Voici comment la page recommande d'effectuer l'étape de copie:

Copiez vos données de sauvegarde de votre disque d'origine vers votre nouveau disque

  1. Ouvrez une nouvelle fenêtre du Finder. Dans la barre latérale du Finder, cliquez sur l'icône du lecteur de sauvegarde d'origine.
  2. Ouvrez une nouvelle fenêtre du Finder. Dans la barre latérale du Finder, cliquez sur l'icône du nouveau lecteur de sauvegarde.
  3. Faites glisser le dossier "Backups.backupdb" du lecteur de sauvegarde d'origine vers le niveau supérieur du nouveau lecteur de sauvegarde.
  4. Saisissez un nom et un mot de passe d'administrateur, puis cliquez sur OK pour démarrer le processus de copie.

La copie de vos données de sauvegarde peut prendre un certain temps, selon la taille de votre sauvegarde.

David Andreoletti
la source
5
Pour ma part, je regarde cette question parce que suite à ce tutoriel (qui suggère de copier le dossier de sauvegarde avec Finder) et de le laisser fonctionner pendant la nuit, il s'est terminé sur un problème d'autorisation avec environ 500/940 Go copié. J'ai ensuite fait une sudo rsyncdernière nuit, mais ce matin, trouvez ERROR: out of memory in flist_expand [sender]et ma copie est maintenant ~ 600 Go. Je n'ai pas encore décidé quoi faire, mais je pense que la plupart des lecteurs lisent déjà le didacticiel officiel.
PeterT
@PeterT Je viens aussi d'essayer le tuto et j'ai le même problème que vous. Je ne suis pas sûr que quiconque connaissait le tutoriel, sinon quelqu'un l'aurait mentionné ici et le résultat qui en aurait découlé. Maintenant, les gens savent que cela ne vaut pas la peine d'essayer.
David Andreoletti
1
L'utilisation du Finder pour copier le dossier prend un certain temps pour créer la liste des fichiers, puis échoue de toute façon avec un espace disque insuffisant et doit donc être mal calculé.
malhal
1
C'est exactement mon problème. Le volume TM d'origine est de 550 Go, le nouveau était de 600 Go. Mojave se plaignait toujours d'un espace insuffisant sur le volume. J'utilise maintenant SuperDuper! en mode "Sauvegarde - tous les fichiers".
Markus Rudel
1
Le tutoriel d'Apple a échoué pour moi, dans macOS Mojave 10.14.2. J'ai essayé de copier une archive de sauvegarde de 3 To sur un lecteur de 8 To; Finder a passé près de 5 jours à copier (en disant «il reste 5 secondes» pour la plupart de cela), avant d'abandonner et de se plaindre que le lecteur était plein! Et c'était - même s'il n'avait copié qu'environ les 2/3 des sauvegardes. De toute évidence, il ne s'agit pas de conserver des liens physiques mais de créer de nouvelles copies de chacun. Cette réponse n'est donc pas correcte actuellement.
gidds
0

+1 pour les utilitaires de disque, trop long pour les commentaires:

12.250.329 fichiers évalués, 10.408.594 fichiers copiés. Vitesse de copie effective 8,68 Mo / s.

pour le clonage d'un lecteur de sauvegarde magnétique de 2 To avec plusieurs années de sauvegardes via SuperDuper! cette année.

Cela a pris 63h au total (SuperDuper réinitialiserait son horloge toutes les 24 heures, donc il a montré 15:04:43 à la fin) par opposition à une copie du Finder que j'ai annulée après environ 4 jours et quart des fichiers.

Évidemment, le disque magnétique n'était pas la raison pour laquelle cela prenait si longtemps. La raison pour laquelle le Finder copie le blocage sur des disques de sauvegarde de longue durée est le grand nombre de liens symboliques en cascade sur des fichiers inchangés, en particulier pour de nombreux petits fichiers comme les indices Git.

Paracétamol
la source
0

rsync est un excellent utilitaire pour ce genre de choses. Je l'utilise généralement pour des trucs comme ça. Dans ce cas, je pourrais utiliser les drapeaux -aP. Je pense qu'une partie de -a ("archive") est également de préserver les autorisations, les ACL et autres, mais je ne suis pas sûr.

IIRC, il existe également une option --delete qui vous permet de supprimer le fichier source une fois qu'il a été copié avec succès vers la destination. Cependant, je me méfierais de l'utiliser - généralement, je fais un miroir complet sans l'option --delete, puis je réexécute la commande avec les options -c et --delete. -c est la somme de contrôle, il vérifie donc tous les fichiers que vous avez téléchargés par rapport à tous ceux de la source via la somme de contrôle, puis supprime la source s'il y a une correspondance, sinon il recopie ou reprend la copie selon le cas.

EDIT: veuillez utiliser le drapeau -H dans ce cas selon les commentaires, afin de conserver les liens durs.

Harv
la source
5
rsync ne conserve pas de liens physiques sur les répertoires. Copier une sauvegarde while TM dupliquera de nombreux répertoires
nohillside
1
@patrix - Je peux le confirmer. Je l'ai essayé. Les liens matériels d'annuaire sont presque uniques à HFS + et rsync ne les comprend pas.
Fake Name
3
-H, --hard-links conserve les liens durs
Pete Ashdown
-2

Avec les disques durs, lorsque vous déplacez plusieurs fichiers d'un lecteur, le lecteur se déplace d'avant en arrière en faisant un bruit de clic effrayant, et il ralentit considérablement le taux de transfert, par exemple - un fichier avec usb 2.0 se déplace à 30 Mbps sur mon ordinateur à partir de 2 disques durs externes, mais 2 fichiers se déplacent à 11 Mbps. et 3 fichiers se déplacent à 6 Mbps. etc etc. les fichiers zip se déplaceront plus rapidement que les fichiers.

Jake Thomas
la source
2
Comment cela répond-il à la question du PO?
fsb