tmutil : la commande cachée pour Time Machine

Certes, j’ai beaucoup râlé sur ce que Lion n’apportait pas, ou apportait en trop, ou ce qu’il faisait à mon goût mal. Mais il recèle aussi quelques pépites fort utiles, par exemple une nouvelle commande de Terminal appelée tmutil.

Cette commande sert à manipuler Time Machine, de façon très complète, voire plus complète qu’avec l’interface graphique.

La façon la plus simple de l’utiliser, c’est encore de taper juste tmutil :

Minimoi:~ admini$ tmutil
Usage: tmutil help <verb>
Usage: tmutil version
Usage: tmutil enable
Usage: tmutil disable
Usage: tmutil startbackup [-b|--block]
Usage: tmutil stopbackup
Usage: tmutil enablelocal
Usage: tmutil disablelocal
Usage: tmutil snapshot
Usage: tmutil delete snapshot_path ...
Usage: tmutil restore [-v] src dst
Usage: tmutil compare [-a@esmugtdrvEX] [-D depth] [-I name]       tmutil compare [-a@esmugtdrvEX] [-D depth] [-I name] snapshot_path       tmutil compare [-a@esmugtdrvEX] [-D depth] [-I name] path1 path2
Usage: tmutil setdestination mount_point       tmutil setdestination [-p] afp://user[:pass]@host/share
Usage: tmutil addexclusion [-p] item ...
Usage: tmutil removeexclusion [-p] item ...
Usage: tmutil isexcluded item ...
Usage: tmutil inheritbackup machine_directory       tmutil inheritbackup sparse_bundle
Usage: tmutil associatedisk [-a] mount_point volume_backup_directory
Usage: tmutil latestbackup
Usage: tmutil listbackups
Usage: tmutil machinedirectory
Usage: tmutil calculatedrift machine_directory
Usage: tmutil uniquesize path ...
Use `tmutil help <verb>` for more information about a specific verb.Minimoi:~ admini$

Bon… Pas forcément très parlant tout ça. Déjà, on voit quand même qu’on dispose d’options pour activer (enable) ou désactiver (disable) Time Machine. Évidemment, il faudra lancer la commande en root, donc la précéder de sudo puis taper son mot de passe administrateur.

Minimoi:~ admini$ sudo tmutil enable

Maintenant, vous pouvez choisir une destination de sauvegarde :

Minimoi:~ admini$ sudo tmutil setdestination /Volumes/Untitled

On peut aussi lancer une sauvegarde :

Minimoi:~ admini$ sudo tmutil startbackup
Total copied: 247.19 MB (259201817 bytes)
Avg speed:    617.66 MB/min (10794449 bytes/sec)

L’option –block (ou -b) lance la sauvegarde en premier plan. En clair : tant qu’elle n’est pas terminée, vous ne pouvez pas aller plus loin. Moui… Mais on doit pouvoir faire mieux que ça non ?

Minimoi:~ admini$ sudo tmutil enablelocal

Voilà qui est bien plus intéressant ! L’option enablelocal active une des nouvelles fonctions de Time Machine dans Lion : les sauvegardes locales. Lorsque votre Mac est déconnecté de son disque de sauvegarde, il peut continuer à faire des sauvegardes transparentes sur votre disque interne. Si cette fonction vous agace, vous pouvez la désactiver en tapant tmutil disablelocal. Mais vous pouvez aussi l’activer sur un Mac de bureau pour avoir des sauvegardes locales au cas où… Celles-ci seront ensuite automatiquement rapatriées vers votre disque Time Machine.

 

On peut aussi supprimer une sauvegarde Time Machine, ce que ne permet pas le Finder, même avec le compte root !

 

Minimoi:~ admini$ sudo tmutil delete /Chemin/Vers/Le_Dossier_TimeMachine_A_Effacer

Au passage, une astuce : tapez juste sudo tmutil delete, retournez dans le Finder, affichez le dossier Backup.backupdb dans le Finder, sélectionner une sauvegarde dans son dossier, puis glissez-la dans la fenêtre de Terminal pour récupérer son chemin.

Vous avez un dossier ou un fichier à restaurer ? Pas de problème, l’option restore est là pour vous (et vous pouvez l’utiliser sans sudo) :

 

Minimoi:~ admini$ tmutil restore /Chemin/Vers/Le/Dossier/A/Restaurer Dossier_Cible

Et si vous voulez savoir quel fichier est copié en live, ajoutez -v après restore.

Oh, mais on peut aussi faire un instantané du disque sous forme de « snapshot » ! Histoire de le restaurer rapidement en cas de problème :

Minimoi:~ admini$ sudo tmutil snapshot

Bon, ça, j’ai l’impression que ça marche moyen. À tester plus tard…

 

Vous voulez exclure un dossier de la sauvegarde ? Tapez donc :

Minimoi:~ admini$ tmutil addexclusion /Chemin/Vers/Le_Dossier_A_Exclure
Il est intéressant ici de savoir qu’en plus du comportement par défaut de Time Machine en mode graphique, qui est d’associer l’exclusion à un dossier ou un fichier *où qu’il se trouve sur le disque* (en clair : si on le déplace ou qu’on le copie ailleurs, il continuera de ne pas être sauvegardé), on peut choisir en ligne de commande une autre option : en ajoutant -p après addexclusion, on peut définir un chemin de façon absolue et définitive. Ainsi, si vous déplacez le dossier ou fichier dans le chemin défini, il sera à nouveau disponible pour la sauvegarde.

Il y a bien  d’autres options éventuellement à voir, mais ça sera… pour un autre article :)

9 comments

  1. Chino22 dit :

    « On peut aussi supprimer une sauvegarde Time Machine, ce que ne permet pas le Finder, même avec le compte root ! »

    Pas tout à fait vrai : Un menu contextuel dans Time Machine permet d’en faire autant juste d’un ctrl-clic sur le dossier à virer.

    De plus, il est possible de supprimer une sauvegarde devenue inutile car le mac n’esiste plus, par exemple.

    Cliquer sur l’icône TimeMachine de la barre de menu en maintnenat la touche ALT appuyée, puis choisir l’item « Parcourir d’autres disques Time Machine ». Sélectionner la sauvegarde à supprimer, Une fois dans Time Machine, il est possible de supprimer tout ou partie des éléments souhaités à l’aide du menu contextuel (clic droit sur l’objet).

    Cette méthode est à conseiller, car une ligne de commande en root un peu trop brutale me semble imprudente.

    Ca devrait en ravir plus d’un, car il y a des sauvegardes d’anciennes machines qu’on souhaite conserver partiellement.

    L’autre bonne nouvelle, c’est que ça marche sur Snow Leopard. (Lion, je ne sais pas encore)

    Merci pour cet article !

  2. Laurent Rathle dit :

    Très intéressant. Merci.

  3. Gilles dit :

    J’aimerais bien pouvoir sauvegarder sur deux serveurs différents.

    Je m’explique, j’ai une time capsule au bureau sur lequel mon MBA se sauvegarde, mais j’ai également un NAS Qnap a la maison qui fait office de Time machine pour mon iMac. J’aimerais bien que mon MBA se sauvegarde aussi à la maison, car il m’arrive de travailler de longues heures a la maison et de craindre un pépin sur le chemin du travail ou lors d’un déplacement le lundi par exemple, lorsque je ne suis pas repassé par la case bureau.

    Je ne pense pas que cela soit possible, mais peut être y a t il une astuce?

    GillesB

  4. Ali Baba dit :

    Ah, si le problème de Gilles trouvait une solution, ça m’aiderait aussi ! Actuellement, je suis obligé de changer les préférences à chaque fois que je change de lieu de sauvegarde.

  5. Thierry dit :

    Bonsoir,
    Sympa toutes ces possibilités. Est ce que ça pourra être repris dans un ptit utilitaire pour Time Machine « Lion » ?
    (je me rappelle de ces utilitaires qui permettaient de changer la fréquence de sauvegarde, j’imagine que c’est pareil ici)

  6. marshall dit :

    Bonjour,

    Pour ceux qui veulent changer de Capsule à la volée (Apple, Syno, Qnap, etc).
    Voici la commande :
    sudo tmutil setdestination afp://votreusercaps:votrepswdcaps@votrecapsule.local/votreRepBackup

    exemple :
    Toutes les heures impaires
    sudo tmutil setdestination afp://myusercaps:pswdcaps@caps-03.local/bck-03
    Toutes les heures paires
    sudo tmutil setdestination afp://myusercaps:pswdcaps@caps-02.local/bck-02

    Vous pouvez la passer même pendant un backup, ça ne le perturbe même pas.
    Il continu le disk défini à son lancement.

  7. […] en ligne de commande, mais ça fonctionne. J’ai trouvé la ligne de commande chez Guillaume Gete (encore) et ça nécessite au moins […]

  8. natacha dit :

    Bonjour,
    Je vais essayer de faire une description aussi claire que possible de mon problème.

    Ancienne configuration : Un MacBook sous leopard et une Time Capsule.
    Nouvelle Configuration : Un MacBookAir sous Lion sur lequel j’ai migré la dernière sauvegarde de la timecapsule.

    Ce que souhaite faire :
    reassigner mes anciennes sauvegardes à mon MacBookAir.

    Sachant que ma timecapsule est pleine, j’ai installé via son port usb un dd externe de 2 to, partitionné comme suit :
    – 1 to pour mes anciennes sauvegardes (que j’ai déjà archivé dessus, sans les effacer de la timecapsule)
    333 giga pour un pc
    333 giga pour un autre pc
    334 giga pour mon ancien MacBook

    En l’état actuel Time Machine sur le MacBookAir ne reconnait pas (tout à fait) mes anciennes sauvegardes, je m’explique:

    1 clic sur Time Machine
    1 clic sur entrer dans Time Machine
    me voilà transportée dans l’interface Time Machine, je peux voyager dans l’historique des sauvegardes cependant je suis sytématiquement dans le finder et non pas dans l’appli sur laquelle je me trouvais avant d’entrer dans Time Machine.

    Quant aux sauvegardes archivées sur le dd externe je n’y accède que si je le connecte au MBA par usb, en montant une image disque dans le finder, si il est connecté à la Timecapsule, Time-machine le reconnait mais me fait voyager dans le vide…

    Si vous avez une solution à m’apporter, je suis preneuse!!!

    Cordialement. Natacha

  9. merliere dit :

    bonjour tous
    meme genre d’ennui sous lion et time capsule -1° sauvegarde pas de problème et a partir du moment ou j’éteint lordi il ne trouve plus ca sauvegarde (ERREUR N°1)
    dans la mesure ou vous avez une solution je suis preneur

    amitié a tous gmerliere