Vérification des sauvegardes Time Machine


21

Je prépare mon système pour une mise à niveau de Snow Leopard et je me prépare au pire des cas: réinstallation et restauration complètes.

Je voudrais vérifier que mes sauvegardes Time Machine sont valides et seront correctement restaurées. Les sauvegardes de Time Machine vont sur un serveur Linux exécutant Netatalk et les sauvegardes se terminent avec succès.

Comment puis-je effectuer une restauration test vers un autre emplacement ou vérifier autrement mes données sans écraser les fichiers existants? Dois-je enregistrer quelque chose en particulier en externe pour m'assurer d'avoir accès aux sauvegardes si je dois réinstaller à partir de zéro?


Réponses:


14

Time Machine ne dispose d'aucun mécanisme intégré pour vérifier qu'un ensemble de sauvegardes est valide. C'est un problème avec Time Machine, étant orienté consommateur plutôt qu'entreprise ...

Effectuer une réparation de disque dans l'Utilitaire de disque ne valide pas les données de sauvegarde Time Machine, mais vérifiera la structure et l'intégrité du disque de sauvegarde. (Bien sûr, Disk Warrior vérifie / répare de manière complémentaire).

La seule façon dont je vois que vous pouvez vérifier les données de la sauvegarde est de faire une restauration complète.

Veuillez noter que vous pouvez ouvrir les journaux de la console et filtrer par BACKUPD pour voir ce qui se passe pendant une sauvegarde et voir si des conditions d'erreur se sont produites.

Modifier:

Time Machine comprend une option, si vous maintenez la touche Option enfoncée et cliquez sur le module complémentaire de la barre de menus Time Machine, pour "Vérifier les sauvegardes".

Cela ne vérifie pas le contenu de la sauvegarde. En d'autres termes, ce fichier sauvegardé abcd.txt est identique à abcd.txt, à la place, cela vérifie que l'image disque des données de la machine temporelle n'est pas endommagée.

Jetez un œil à http://support.apple.com/kb/HT4076


Pas vraiment ce que je recherche, mais après plus de recherches, cela décrit avec précision la situation. Les solutions de sauvegarde de qualité grand public ont toujours été néfastes à cet égard. J'examinerai probablement une autre solution à long terme.
jtimberman

1
Essayez SuperDuper! - avec lui, vous pouvez être sûr que votre disque est copié
tig

2
En fait, si vous cliquez sur l'icône Time machine dans la barre de menus, puis appuyez sur «Option», vous obtenez une option Vérifier les sauvegardes.
William Macdonald

1
Ma compréhension est que TM utilise un répertoire et une structure de fichiers qui reflètent essentiellement celui réel. Cela ne signifie-t-il pas que nous pouvons simplement utiliser diff pour vérifier la sauvegarde, en supposant un système de fichiers relativement silencieux?
kec

1
C'est faux ou obsolète. L'interface de ligne de commande pour Time Machine inclut une commande "verifychecksums". Il n'est pas clair si cela sera exécuté occasionnellement dans le cadre du processus de sauvegarde normal, mais il semble logique que ce soit le cas.
Abhi Beckert du

12

Au final, une sauvegarde Time Machine est une collection de dossiers pour chaque date de sauvegarde. Chacun de ces dossiers contient tous les fichiers qui existaient à cette date. Ainsi, vous pouvez comparer les noms et le contenu de tous ces fichiers avec ceux de votre Mac.

Bien sûr, de nombreux fichiers changeront en utilisant simplement votre Mac. Les résultats prennent donc du bon sens à interpréter. La meilleure option consiste à fermer toutes les applications en cours d'exécution, à exécuter Time Machine, puis à comparer immédiatement.

Après avoir connecté votre disque de sauvegarde, utilisez ce qui suit dans Terminal pour trouver les différences. Pour la cdcommande ci-dessous, vous souhaiterez peut-être utiliser la complétion de ligne de commande Tab plutôt que de simplement coller la première ligne:

cd /Volumes/Backup*/Backups.backupdb/*/Latest/*/
echo "Dossier actuel sur le disque de sauvegarde: $ (pwd -P)"
sudo diff -qr. / 2> & 1 | tee $ HOME / timemachine-diff.log

Cela comparera le dossier actuel (étant la dernière sauvegarde) avec la racine de votre Mac. Il affiche les résultats à l'écran, mais les capture également dans le fichier timemachine-diff.logde votre dossier de départ.

Ce qui précède fonctionnera TRÈS longtemps (des heures, peut-être même des jours), donc pour les tests, vous pouvez d'abord vous limiter à un dossier spécifique. Comme pour votre bureau:

cd /Volumes/Backup*/Backups.backupdb/*/Latest/*/$HOME/Desktop
echo "Dossier actuel sur le disque de sauvegarde: $ (pwd -P)"
sudo diff -qr. $ HOME / Desktop 2> & 1 | tee $ HOME / timemachine-diff.log

S'il n'y a pas de sortie, il n'y a pas de différence. Pour les tests, renommez simplement un fichier sur votre bureau, ce qui devrait vous donner à la fois "Seulement dans". pour le nom d'origine (qui ne se trouve que sur votre sauvegarde) et "Uniquement dans / Utilisateurs / nom d'utilisateur / Bureau" pour le nouveau nom (qui n'est pas dans la sauvegarde).

Remarques:

  • Lors de la sauvegarde sur un réseau, vous utiliserez probablement un bundle clairsemé . Double-cliquez simplement sur ce fichier bundle clairsemé pour le monter avant d'exécuter les commandes ci-dessus. Une fois terminé, faites un clic droit et éjectez-le.

  • Certains fichiers sont exclus de par leur conception, certains logiciels peuvent simplement s'exclure et les dossiers FileVault ne sont écrits dans une sauvegarde que lorsque vous vous déconnectez en premier. Voir L'application Time Machine d'Apple copie-t-elle vraiment tout?

  • Pour voir ce qui a été écrit dans la (dernière) sauvegarde, consultez TimeTracker (GUI) ou timedog (ligne de commande). Notez que, même lors de l'exécution en tant qu'administrateur, ces programmes doivent parfois être exécutés en tant que root pour voir tous les fichiers. Voir Comment récupérer des fichiers à partir de sauvegardes Time Machine à partir d'un autre ordinateur? pour aider.

  • Les messages de journal ne sont pas seulement écrits dans la console (dans Applications, Utilitaires; filtrez backupdou utilisez Time Machine Buddy ), mais différents messages de journal sont également conservés dans un .Backup.logfichier caché sur le disque de sauvegarde lui-même, dans le dossier avec la date de sauvegarde. Voir aussi Que fait Time Machine? à Server Fault.

  • Depuis 10.6.3, j'ai remarqué une étape "Vérification de la sauvegarde ..." dans Time Machine, suivie de "Préparation de 51 959 éléments ...", avant la "Sauvegarde". La console mentionne "Exécution de la vérification de sauvegarde", "QUICKCHECK UNIQUEMENT; FILESYSTEM CLEAN" et "Vérification de sauvegarde réussie!"

    Je n'ai aucune idée de ce que fait la vérification. Peut-être que cela compare la sauvegarde au contenu du disque actuel: lorsque je n'ai que 3,5 Go d'espace disque libre sur mon Mac, j'ai remarqué que "CopyHFSMeta a atteint un seuil d'espace disque faible", donc apparemment, il copie beaucoup de données sur mon Mac? Ceci est ensuite suivi par "Vérification de sauvegarde ignorée pendant CopyHFSMeta", "Espace insuffisant sur le volume de démarrage pour terminer la vérification de sauvegarde" et un faux "Vérification de sauvegarde ignorée par l'utilisateur!" alors que je ne l'ai pas sauté moi-même. Ces messages se trouvent uniquement dans le journal; aucune indication à l'utilisateur que ce soit, et la sauvegarde se termine sans aucun avertissement.

  • Apple propose un article de support intitulé À propos de "Time Machine a effectué une vérification de vos sauvegardes. Pour améliorer la fiabilité, Time Machine doit créer une nouvelle sauvegarde pour vous." Dans cet article, les étapes pour vérifier manuellement le disque de sauvegarde vérifient uniquement l'état physique de l'image disque et ne comparent pas son contenu au disque de votre Mac. Je suppose donc que cette erreur ne concerne pas non plus le contenu de la sauvegarde . Citation étrange de cet article:

    Remarque: Ne réparez pas l'image disque avec l'Utilitaire de disque.

Time Machine utilise des liens durs, ce qui donne à chaque sauvegarde l'impression de contenir tous les fichiers. Voir une fine explication technique chez Ars Technica .


Je me demande dans quelles circonstances CopyHFSMeta(actuellement en hfs-191.1 ) peut être exécuté par le système d'exploitation.
Graham Perrin

4

Conformément à Mac OS X 10.6.4, vous pouvez lancer une vérification de votre sauvegarde en cliquant sur l'icône Time Machine dans la barre de menus.

Je ne sais pas exactement ce qui est vérifié, mais quand je l'ai fait, Time Machine m'a recommandé de démarrer une nouvelle sauvegarde pour améliorer la fiabilité.

Pour en savoir plus: article de la base de connaissances Apple .


1
Agréable. Curieux, OS X ne peut pas simplement créer une nouvelle sauvegarde à jour sans supprimer l'historique, mais peut-être que ces jours viendront aussi ...
Arjan

1
Ce processus de vérification exécute simplement une vérification de l'utilitaire de disque sur l'image du disque sur la Time Capsule. Si vous n'avez pas de Time Capsule, rien ne se passera. Il ne s'agit pas de vérifier les données de sauvegarde, mais simplement l'intégrité de l'image disque sur laquelle elles sont stockées.
Benjamin Schollnick

@Benjamin, pouvez-vous nous dire comment vous le savez? Je viens de tomber sur «Espace insuffisant sur le volume de démarrage pour terminer la vérification de la sauvegarde» lorsque je n'avais que 3,5 Go d'espace disque libre sur un MacBook, ce qui me dit en quelque sorte qu'il recopie beaucoup de données sur ce MacBook. (Beaucoup d'espace restant sur le disque de sauvegarde. Dans ma configuration, ce disque est connecté à un autre Mac - et partagé sans fil via AFP - mais cet autre Mac a aussi beaucoup d'espace.)
Arjan

@Arjan, Time Machine ne vérifie pas les fichiers individuels (par exemple, copier le fichier, vérifier le fichier pour s'assurer qu'il est copié correctement ou corrompu). Faites une sauvegarde TM à jour, modifiez un fichier spécifique et cliquez sur le menu TM supplémentaire, puis choisissez vérifier la sauvegarde. Il ne signalera pas une mauvaise sauvegarde. Voir l'article Apple KBase ci-dessus. Et blog.fosketts.net/2010/08/11/… . Time Machine n'a pas de phase de vérification dans son cycle de sauvegarde.
Benjamin Schollnick du

Oh ... Et la vraie preuve est, exécutez une vérification de sauvegarde Time Machine. J'ai 356 Go de sauvegardes et ma vérification prend moins de 10 secondes. Mais mon disque TM est directement connecté à mon système, il n'y a donc pas d'image disque clairsemée, donc la finition rapide.
Benjamin Schollnick

2

L'utilitaire de ligne de commande Time Machine a une option pour ce faire: "tmutil compare". Vérifiez "man tmutil" pour tous les différents commutateurs disponibles.

https://www.google.com/search?q=tmutil%20compare


Veuillez ne pas utiliser de liens vers des informations non statiques comme les résultats d'une recherche Google dans votre réponse. Modifiez-le pour inclure un bref résumé de ce que vous souhaitez exprimer, ou (dans ce cas) supprimez peut-être simplement le lien, car le terme de recherche est plutôt simple.
jstarek

1

Vous pouvez essayer une application à partir des utilitaires Mac (Application-> Utilitaires): Migration Assistant. Avec cet outil, vous pouvez utiliser une option pour transférer des informations de votre Time Machine de sauvegarde vers un ordinateur local.

Une autre façon est d'utiliser cet outil pour installer Mac depuis Time-machine sur un autre Mac virtuel sur HD. Je n'ai pas encore essayé ça. Je ne sais pas s'il est possible de faire une boîte virtuelle avec OSX.


Migration Assistant -> From Time Machine n'affiche rien d'utile.
jtimberman

0

Une sauvegarde Time Machine sur un partage basé sur le réseau est connue pour être plus risquée et plus lourde de problèmes. Donc, si vous ne voulez vraiment pas vraiment courir le risque de rencontrer des problèmes avec votre mise à niveau et d'avoir ensuite plus de mal à revenir là où vous étiez, je vous recommande fortement d'utiliser temporairement un disque local et un outil comme SuperDuper de ShirtPocket! ou Carbon Copy Cloner

Cependant, pour la simple vérification par force brute de vos données, je pense que le mieux que vous puissiez faire est de monter manuellement le sparsebundle sur votre lecteur réseau et d'utiliser quelque chose d'aussi simple que «diff -cr» pour comparer la majeure partie des fichiers de la « Dernière version par rapport à votre lecteur système (ce qui va évidemment en jeter certains qui ont changé depuis la dernière exécution de TimeMachine.)


Je viens d'essayer la méthode diff, et cela ne semble pas fonctionner ... Je soupçonne que Diff ne gère pas très bien les liens durs?
Benjamin Schollnick

Je ne vois pas pourquoi il devrait trébucher là-dessus. Je viens de l'essayer ("diff -r --brief" semble mieux fonctionner, pour un résumé) sur une petite partie des deux hiérarchies Time Machine suivantes et il semblait fonctionner correctement, en signalant "Les fichiers ... diffèrent", "Seulement dans ...". Il génère des erreurs liées aux liens symboliques, si elles ne peuvent pas être résolues en fichiers réels. Cela semble être dû au fait qu'il existe des liens symboliques pendants, même dans la copie source.
jrg

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.