Guide complet de Time Machine via le Terminal

Introduction

tmutil est l'utilitaire en ligne de commande fourni par Apple pour contrôler et interagir avec Time Machine. Il permet d'examiner, manipuler et gérer les sauvegardes, d'ajouter ou retirer des exclusions, de comparer des sauvegardes, et bien plus encore.

Ce guide couvre toutes les commandes disponibles avec des exemples pratiques pour macOS Tahoe.

Note : La plupart des commandes nécessitent les privilèges administrateur (sudo) ainsi que l'accès complet au disque (Full Disk Access) pour Terminal.


Activer et désactiver Time Machine

Activer les sauvegardes automatiques

sudo tmutil enable

Désactiver les sauvegardes automatiques

sudo tmutil disable

Lancer et arrêter une sauvegarde

Lancer une sauvegarde immédiate

Équivalent à cliquer sur « Sauvegarder maintenant » dans le menu Time Machine.

tmutil startbackup

Options de startbackup

# Attendre la fin de la sauvegarde
tmutil startbackup --block

# Mode automatique (recommandé pour les scripts)
tmutil startbackup --auto

# Cibler une destination spécifique
tmutil startbackup --destination XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

# Combiner plusieurs options
tmutil startbackup --block --auto --rotation

Arrêter une sauvegarde en cours

tmutil stopbackup

Configurer les destinations

Afficher les informations sur la destination

tmutil destinationinfo

# Sortie en format XML
tmutil destinationinfo -X

Affiche pour chaque destination : Name, Kind (Local ou Network), URL (si réseau), Mount Point et ID.

Définir une destination locale (HFS+ ou APFS)

# Remplace toute destination existante
sudo tmutil setdestination /Volumes/HDD_EXTERNE

# Ajouter une destination sans remplacer (-a)
sudo tmutil setdestination -a /Volumes/AutreDisque

Définir une destination réseau

# AFP
sudo tmutil setdestination afp://utilisateur@serveur/partage

# SMB
sudo tmutil setdestination smb://utilisateur@serveur/partage

# Avec mot de passe interactif (-p) - plus sécurisé
sudo tmutil setdestination -p smb://utilisateur@serveur/partage

L'option -p permet de saisir le mot de passe de manière interactive (non visible), ce qui est plus sécurisé car les arguments des commandes sont visibles via la commande ps.

Définir un quota pour une destination

# Définir un quota de 500 Go pour une destination
sudo tmutil setquota XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 500

L'ID de destination est obtenu via tmutil destinationinfo. Le quota s'appliquera à la prochaine sauvegarde.

Supprimer une destination

sudo tmutil removedestination XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Gérer les exclusions

Time Machine supporte trois types d'exclusions :

Ajouter une exclusion

# Exclusion sticky (suit l'élément)
tmutil addexclusion ~/Downloads

# Exclusion de chemin fixe
sudo tmutil addexclusion -p /chemin/vers/dossier

# Exclusion de volume
sudo tmutil addexclusion -v /Volumes/MonVolume

Retirer une exclusion

# Retirer une exclusion sticky
tmutil removeexclusion ~/Downloads

# Retirer une exclusion de chemin fixe
sudo tmutil removeexclusion -p /chemin/vers/dossier

# Retirer une exclusion de volume
sudo tmutil removeexclusion -v /Volumes/MonVolume

Vérifier si un élément est exclu

tmutil isexcluded ~/Downloads

# Sortie en XML
tmutil isexcluded -X ~/Downloads

Résultat : [Excluded] ou [Included] suivi du chemin.


Lister les sauvegardes

Lister toutes les sauvegardes

# Lister toutes les sauvegardes
tmutil listbackups

# Depuis une destination spécifique
tmutil listbackups -d /Volumes/HDD_EXTERNE

# Monter les sauvegardes et afficher leurs chemins
tmutil listbackups -d /Volumes/HDD_EXTERNE -m

# Afficher uniquement les timestamps
tmutil listbackups -d /Volumes/HDD_EXTERNE -t

Afficher la dernière sauvegarde

# Dernière sauvegarde
tmutil latestbackup

# Depuis une destination spécifique
tmutil latestbackup -d /Volumes/HDD_EXTERNE

# Monter et afficher le chemin
tmutil latestbackup -d /Volumes/HDD_EXTERNE -m

# Afficher uniquement le timestamp
tmutil latestbackup -d /Volumes/HDD_EXTERNE -t

Afficher le répertoire machine

tmutil machinedirectory

Snapshots locaux APFS

Les snapshots locaux sont des instantanés APFS créés sur le disque interne, permettant de restaurer des fichiers même sans accès au disque de sauvegarde externe.

Créer un snapshot local

tmutil localsnapshot

Lister les snapshots locaux

# Lister les snapshots du volume racine
tmutil listlocalsnapshots /

# Lister les dates de création
tmutil listlocalsnapshotdates

# Lister les dates pour un volume spécifique
tmutil listlocalsnapshotdates /

Les dates sont au format YYYY-MM-DD-HHMMSS.

Supprimer des snapshots locaux

# Supprimer tous les snapshots d'une date spécifique
sudo tmutil deletelocalsnapshots 2024-12-07-143022

# Supprimer tous les snapshots d'un disque
sudo tmutil deletelocalsnapshots /

Réduire l'espace des snapshots (thinning)

# Syntaxe : tmutil thinlocalsnapshots mount_point [octets] [urgence]
# Urgence : 1 (faible) à 4 (maximale)

# Libérer environ 10 Go avec urgence normale
sudo tmutil thinlocalsnapshots / 10000000000 1

# Libérer 100 Go avec urgence maximale
sudo tmutil thinlocalsnapshots / 100000000000 4

# Supprimer tous les snapshots (astuce)
sudo tmutil thinlocalsnapshots / 999999999999999 4

L'urgence niveau 4 arrête les sauvegardes en cours et supprime immédiatement en commençant par les plus volumineux.


Comparer des sauvegardes

Comparer l'état actuel avec la dernière sauvegarde

tmutil compare

Comparer avec une sauvegarde spécifique

tmutil compare /chemin/vers/sauvegarde

Comparer deux sauvegardes entre elles

tmutil compare /chemin/sauvegarde1 /chemin/sauvegarde2

Options de comparaison

Par défaut, tmutil compare utilise les options -@gmstu (attributs étendus, GIDs, modes, tailles, dates de modification, UIDs).

# Comparer toutes les métadonnées
tmutil compare -a

# Comparer tailles et contenu
tmutil compare -sd

# Limiter à 2 niveaux de profondeur
tmutil compare -D 2

# Ignorer le dossier node_modules
tmutil compare -I node_modules

Restaurer des fichiers

# Restaurer un fichier
tmutil restore /chemin/sauvegarde/fichier.txt ~/Bureau/

# Restaurer plusieurs éléments
tmutil restore source1 source2 source3 /destination/

# Restauration verbose
tmutil restore -v /chemin/source /chemin/destination

Les métadonnées Time Machine personnalisées sont retirées lors de la restauration, mais les autres métadonnées sont préservées. Les privilèges root peuvent être nécessaires selon les fichiers restaurés.


Supprimer des sauvegardes

Supprimer des sauvegardes par timestamp

# Supprimer une sauvegarde spécifique
sudo tmutil delete -d /Volumes/HDD_EXTERNE -t 2024-12-01-120000

# Supprimer plusieurs sauvegardes
sudo tmutil delete -d /Volumes/HDD_EXTERNE -t 2024-12-01-120000 -t 2024-12-02-120000

# Supprimer un chemin spécifique (HFS+ uniquement)
sudo tmutil delete -d /Volumes/HDD_EXTERNE -t 2024-12-01-120000 -p /chemin/specifique

Supprimer les sauvegardes en cours

sudo tmutil deleteinprogress /chemin/vers/machine_directory

Sur les destinations APFS, cette commande revient à la dernière sauvegarde complète.


Analyser les sauvegardes

Calculer la dérive entre sauvegardes (HFS+)

tmutil calculatedrift /Volumes/HDD_EXTERNE/Backups.backupdb/MonMac

Calculer la taille unique d'une sauvegarde

tmutil uniquesize /chemin/vers/sauvegarde

Affiche l'espace réellement occupé par cette sauvegarde seule, sans compter les éléments partagés avec d'autres sauvegardes.

Vérifier les checksums

tmutil verifychecksums /chemin/vers/sauvegarde

Légende des résultats :

Les checksums sont enregistrés depuis OS X 10.11. Les fichiers copiés par des versions antérieures n'ont pas de checksum.


Commandes avancées

Hériter d'une sauvegarde existante

Permet de réclamer un répertoire machine ou sparsebundle d'un autre ordinateur pour l'utiliser avec la machine actuelle.

# Hériter d'un répertoire machine
sudo tmutil inheritbackup /Volumes/HDD_EXTERNE/Backups.backupdb/AncienMac

# Hériter d'un sparsebundle
sudo tmutil inheritbackup /Volumes/Partage/AncienMac.sparsebundle

Associer un disque à un volume de sauvegarde

Utile après avoir effacé et restauré manuellement un volume pour reconfigurer l'historique de sauvegarde.

sudo tmutil associatedisk /Volumes/MonNouveauDisque "/Volumes/HDD_EXTERNE/Backups.backupdb/MonMac/Latest/Macintosh HD"

Permissions et Full Disk Access

Certaines commandes nécessitent l'accès complet au disque pour fonctionner correctement.

Pour accorder cet accès à Terminal :


Notes importantes pour macOS Tahoe


Index rapide



↑ Haut de page