Gérer Time Machine depuis le terminal : Partie 1
Cela faisait un moment que je voulais faire cet article, c'est finalement parti pour une petite série. Dans cette première partie, il s'agira de voir les commandes de base de la gestion de Time Machine depuis le terminal.
Comme je le répète à chaque fois, pour quelle raison s'embêter à gérer les outils en lignes de commande plutôt que via l'interface graphique de macOS ?
Tout simplement, car cela permet de gérer le Mac à distance, via SSH. Cela prend tout son intérêt, lorsque l'on doit gérer plusieurs Mac. En effet, il est possible de tous les configurer sans avoir à se déplacer sur chacun d'eux.
Aussi, cela permet de contourner quelques limitations de l'interface graphique, en ayant un peu plus de latitude. Historiquement, cela permettait aussi d'effectuer des actions qui ne fonctionnait pas lors de leur utilisation via l'interface. Depuis macOS s'est largement amélioré et les bugs sont devenus plus rares.
1/ Avant de démarrer
Time Machine est disponible de puis 10.4, mais les commandes que nous allons voir ici fonctionnent depuis MacOS X 10.7 jusqu'à macOS 10.14 Mojave. Pour macOS 10.15 Catalina, et macOS 11 Big Sur, les outils ont évolué. Les commandes de base devraient rester les mêmes, mais les avancées pourraient différer légèrement. Je ne manquerai pas de faire un nouvel article à ce sujet dès que je disposerai d'une machine sous l'un des ces deux OS.
L'application en ligne de commande pour Time Machine s'appelle tmutil, tout sera basé sur cette unique application. Vous pouvez lancer l'application, sans aucun paramètre pour découvrir comment l'utiliser.
Comme pour modifier les réglages de Time Machine via Préférences Système et donc l'interface graphique, vous devrez disposez des droits administrateurs sur le Mac pour effectuer les différentes actions. La plupart des commandes devront donc être préfixées par sudo, sinon vous obtiendrez le résultat suivant
tmutil: enable requires root privileges.
2/ Démarrer et arrêter Time Machine
Pour commencer, le plus simple est de voir comment démarrer et arrêter Time Machine.
Pour démarrer
sudo tmutil enable
Pour arrêter
sudo tmutil disable
Pour démarrer Time Machine, cela implique que la configuration est déjà faite, soit via l'interface graphique, soit en ligne de commande, comme nous allons le voir un peu plus tard dans l'article.
Le démarrage de Time Machine n'implique pas le lancement d'une sauvegarde, mais seulement l'activation de l'outil, qui lancera ses sauvegardes périodiquement.
3/ Démarrer et arrêter une sauvegarde
Mais il est tout de même possible de lancer une sauvegarde Time Machine manuellement, sous réserve qu'aucune sauvegarde ne soit déjà en cours.
Lancer une sauvegarde
tmutil startbackup
Il existe des options lors du lancement d'une sauvegarde. Elles peuvent être intéressantes, dans le cadre d'une utilisation avancée de Time Machine en ligne de commande. Pour les intéressés, vous pouvez regarder les options en affichant les pages man de tmutil
man tmutil
Arrêter une sauvegarde en cours
tmutil stopbackup
Comme ces actions n'impliquent pas la modification de la configuration de TimeMachine, il n'est donc pas nécessaire d'utiliser un compte administrateur pour lancer ou arrêter une sauvegarde.
4/ Restaurer un fichier ou un dossier
L'intérêt de Time Machine est de pouvoir restaurer un dossier ou un fichier à partir d'une sauvegarde. Cependant, en ligne de commande, c'est un peu plus compliqué qu'avec l'interface graphique, car il faut naviguer dans les sauvegardes, afin de trouver le chemin et le nom exact du fichier à retrouver.
tmutil restore source destination
où src est l'élément à restaurer et dst est l'emplacement ou vous souhaitez le restaurer. Attention, si vous restaurez un élément à un emplacement où l'élément existe déjà mais dans une autre version, il sera remplacé.
A noter que vous pouvez multiplier les sources, mais toujours conserver qu'une seule destination
tmutil restore source1 source2 source3 destination
5/ Gérer l'emplacement des sauvegardes
Avant de clore cette première partie, regardons un peu comment configurer Time Machine.
Voici comment afficher l'emplacement des sauvegardes
tmutil destinationinfo
Pour un disque monté localement, nommé sobrement TimeMachine, voici le résultat obtenu
====================================================
Name : TimeMachine
Kind : Local
Mount Point : /Volumes/TimeMachine
ID : A115251B-E84F-4A1D-AE6B-5A65788B2657
Pour définir la destination, ce n'est pas bien compliqué. Voici comment la configurer
tmutil setdestination /Volumes/TimeMachine
Evidemment, il faudra adapter la commande avec le nom du disque que vous souhaitez utiliser.
Nous verrons dans un autre article de la série comment configurer Time Machine sur un disque réseau.
6/ Gérer les dossiers exclu de la sauvegarde
Enfin, dernier point pour la configuration de Time Machine, il s'agit d'ajouter ou de retirer des dossiers d'exclusion afin de limiter la taille de sauvegarde.
sudo tmutil addexclusion /chemin/vers/mon/dossier
Pour retirer un dossier, le principe est le même
sudo tmutil removeexclusion /chemin/vers/mon/dossier
Petite action bonus, vous pouvez tester si un élément est exclu dans la sauvegarde. Cela permet de s'assurer que quelques dossiers importants se trouvent bien dans la sauvegarde.
tmutil isexcluded /chemin/vers/mon/dossier