Comment sauvegarder un système Linux avec Timeshift

Sauvegarder son système Linux avec Timeshift

TimeShift est un outil qui permet de créer et restaurer facilement des instantanés (sauvegardes ou encore snapshot) d’un système Linux en local sur sa machine (impossible avec de choisir une destination réseau local ou cloud).

Aussi, par défaut, il ne sauvegardera pas les fichiers personnels (documents, images, musiques, …) contenu dans le répertoire home. C’est un équivalent à TimeMachine de macOS ou à Restauration du système (System Restore) de Windows…

Installation de Timeshift

Sur Ubuntu, Linux Mint, et autres distributions dérivées de Ubuntu

Linux Mint le propose sur ses dépôts officiels à partir de la version 18.x. Et, depuis Linux Mint 18.3, il est même installé par défaut avec le système. Alors que Ubuntu ne le propose sur ses dépôts que depuis Ubuntu 20.04 “Focal Fossa”.

Mais, pour les versions antérieures de Ubuntu ou pour avoir les dernières versions du logiciel, vous pouvez ajouter le PPA (Personal Package Archives ou dépôts personnels de paquets) de l’auteur. Pour cela, dans un terminal, faites :

sudo apt-add-repository -y ppa:teejee2008/ppa

Et mettez à jour votre cache APT :

sudo apt update

Enfin, dans tous les cas (dépôts officiels ou PPA), pour installer Timeshift en ligne de commande, faites dans un terminal :

sudo apt install timeshift

Sur Debian

À partir de Debian 10, Timeshift peut s’installer directement depuis les dépôts de la distribution. Cela peut être fait en ligne de commande avec :

sudo apt install timeshift

Pour les anciennes versions de Debian ou pour avoir la dernière version du logiciel, il faut télécharger le fichier installeur .deb correspondant à votre architecture système depuis la page releases du projet sur GitHub. Alors, vous pourrez l’installer depuis ce fichier.

Sur les autres distributions Linux

Timeshift est aussi directement disponible sur les dépôts officiels de plusieurs distributions comme Fedora ou Manjaro, etc. Il peut donc s’installer facilement depuis leur gestionnaire de logiciels/paquets.

Sinon, il est possible de télécharger le fichier installeur .run correspondant à votre architecture système depuis la page releases du projet sur GitHub.

Puis, pour l’installer, faites dans un terminal :

  • Pour un système 64 bits :
sudo sh /chemin_vers/timeshift*amd64.run

/chemin_vers/ : à remplacer par le chemin correspondant

  • Ou pour un système 32 bits :
sudo sh /chemin_vers/timeshift*i386.run

Interface graphique de Timeshift

Voici l’interface graphique de Timeshift :

gui timeshift

La lettre dans la colonne étiquettes permet d’identifier à quelle occasion cette sauvegarde a été faite :

  • O pour une création « On Demand » (manuelle)
  • B pour une création au Boot (au démarrage du système)
  • H pour une création Horaire (toute les heures)
  • D pour une création quotidienne (Daily)
  • W pour unecréation hebdomadaire (Weekly)
  • et M pour une création Mensuelle

Timeshift peut aussi s’utiliser en ligne de commande, par exemple sur un serveur distant. Pour connaitre toutes les commandes possibles, faites dans un terminal :

timeshift --help

Sinon voici les commandes principales :

sudo timeshift --check
sudo timeshift --create [OPTIONS]
sudo timeshift --restore [OPTIONS]
sudo timeshift --delete-[all] [OPTIONS]
sudo timeshift --list-{snapshots|devices} [OPTIONS]

Configuration de Timeshift

La configuration de Timeshift consiste à déterminer comment, où et à quelle fréquence se feront les instantanés (sauvegardes) et ce qu’ils comprendront. Elle peut se faire par :

  • L’interface graphique (recommandé)
  • Ou, si vous n’avez pas d’environnement graphique (par exemple sur un serveur distant), en éditant manuellement un fichier de configuration

Sans paramétrage de Timeshift, il reste possible de créer des instantanés manuellement. Les paramêtres utilisés seront ceux par défaut :

  • type instantané : RSYNC
  • emplacement des instantanés : /timeshift (sur la partition système)
  • les dossiers utilisateurs exclus (/root et ceux dans /home)
  • et pas d’exclusions de fichiers autres que celles du filtrage par défaut

Par l’interface graphique (recommandé)

En principe, lors du premier lancement de Timeshift, l’assistant de configuration se lance automatiquement. Il permet de faire un premier paramétrage.

Mais cet assistant peut aussi se lancer depuis l’interface principale (1). Sinon, Paramètres (2) permet de reprendre tous les réglages proposés par l’assistant de manière unitaire.

configurer timeshift

Sélection du type d’instantané qui sera créés :

RSYNC est le choix par défaut qui ira dans la plupart des cas. Une copie de fichier sera faites lors du premier instantané. Les suivants seront incrémentaux. C’est-à-dire que seuls les fichiers modifiés ou ajoutés seront copiés dans les instantanés suivants.

type RSYNC
Détail type instantané RSYNC

BTRFS conviendra mieux si vous avez un système de fichiers Btrfs et que vous voulez profiter des avantages de ce dernier.

type BTRFS
Détail type instantané BTRFS

Sélection de l’emplacement des instantanés :

Paramètres Timeshift - Choix de l'emplacement des instantanés

Si vous avez plusieurs disques, je recommande de sélectionner un autre disque que celui hébergeant le système. Ainsi vous ne perdrez pas vos sauvegardes si vous formatez votre disque principal.

Planification de la création d’instantanés :

Paramètres Timeshift - Choix du planning pour la création des instantanés

Ces paramètres permettent de déterminer l’intervalle de temps entre chaque instantané, ainsi que le nombre de versions à conserver. En ne cochant rien, les instantanés ne se feront qu’à la demande.

Sauvegarde des dossiers et données utilisateurs :

Paramètres Timeshift - choix pour les dossiers des utilisateurs

Par défaut Timeshift ne sauvegarde pas les dossiers utilisateurs dans les instantanés.

À cela une bonne raison : Si vous avez choisi d’inclure les dossiers utilisateurs qui contiennent généralement vos données et documents, lorsque vous restaurez un instantané, Timeshift remplacera vos données personnelles par celles de l’instantané, certainement plus anciennes…

Mais si vous voulez quand même les sauvegarder, vous pourrez le définir dans cette fenêtre en choisissant par utilisateur d’inclure :

  • Uniquement les fichiers cachés (Include Only Hydden Files). Ces fichiers sont généralement des fichiers de configuration ou des préférences lié à l’utilisateur.
  • Ou tout (Include All Files)

Je recommande de garder le paramètrage par défaut. D’autres solutions plus adaptées permettront de sauvegarder vos données personnelles.

Définition des filtres d’inclusion/exclusion

Paramètres Timeshift - définissions de filtres d'inclusion/exclusion

Vous pouvez définir ici des fichiers/dossiers à inclure/exclure. Si vide, en cliquant sur Résumé vous verrez la liste des fichiers/dossiers exclus par défaut.

Resumé des filtres

Là aussi, je recommande de garder le paramètrage par défaut.

Par l’édition manuelle de son fichier configuration

Commencez par vérifier si un fichier de configuration personnalisée de Timeshift timeshift.json existe dans son répertoire :

ls /etc/timeshift

S’il n’existe pas, créez-le en copiant le fichier de configuration par défaut :

sudo cp /etc/timeshift/defaut.json /etc/timeshift/timeshift.json

Puis éditez ce fichier timeshift.json pour paramétrer Timeshift avec vos réglages personnalisés :

sudo nano /etc/timeshift/timeshift.json
timeshift.json

Créer un instantané manuellement dans Timeshift

La création manuelle d’un instantané avec Timeshift peut se faire avec l’interface graphique ou par ligne de commande.

Créer un instantané manuellement avec l’interface graphique

Pour cela cliquez sur le bouton Créer de la barre d’outils.

créer un instantané

S’il existe déjà un instantané, cela fera une sauvegarde incrémentielle par rapport au dernier existant.

Alors, en sélectionnant la ligne de l’instantané créé et en cliquant dans la colonne Commentaires, vous pourrez en ajouter un.

Ajout d'un commentaire pour un instantané

Créer un instantané manuellement en ligne de commande

Faites dans un terminal :

sudo timeshift --create

Vous pouvez aussi ajouter d’autres arguments. Par exemple pour ajouter un commentaire, faites :

sudo timeshift --create --comment "Avant mise à niveau"

Restaurer un instantané Timeshift

Restaurer un instantané par l’interface graphique

Sélectionnez l’instantané (1) puis cliquez sur le bouton Restaurer (2) de la barre d’outils.

Restaurer un instantané

Vous pouvez laisser toutes les options sur leur choix par défaut, ou bien, pour les plus experts les modifier…

Restaurer un instantané Timeshift - option pour sélection du périphérique cible

Pareil pour les Options du Bootloader.

Options pour le bootloader

Regardez et confirmez les actions.

Confirmer les actions pour la restauration

Lisez l’avertissement et si vous êtes prêt, faites : Suivant pour démarrer le processus.

Avertissement avant de restaurer un instantané

Alors, Timeshift ferme votre session et copie les fichiers à restaurer. Une fois l’opération finie, le système redémarre.

Restaurer un instantané en ligne de commande

Dans un terminal, faites :

sudo timeshift --restore

Puis, choisissez l’instantané à restaurer.

Choix de l'instantané à restaurer en ligne de commande

Alors à chaque question, faites Entrée pour restaurer avec les réglages par défaut (recommandé) ou modifiez les différentes options.

option pour restaurer l'intantané en ligne de commande

Et enfin faite y pour lancer la restauration.

avertissement avant demarrage restauration en ligne de commande

Aussi, il existe d’autres options que vous pouvez trouver en faisant :

man timeshift

Comment restaurer un instantané si l’environnement graphique ou votre système ne démarre pas ?

Si votre environnement graphique ou votre système ne démarre pas, il est toujours possible de restaurer un instantané pour retrouver un système fonctionnel. Pour cela, vous avez deux possibilités :

  • l’une en ligne de commande en démarrant votre système en Recovery mode
  • l’autre en le démarrant à partir d’un support Live qui intègre Timeshift

Restaurer un instantané en passant par le Recovery mode dans GRUB (Restauration en ligne de commande)

Pour cela, sur l’écran de GRUB, allez dans les paramètres avancés.

grub options avancées

Pour faire apparaître le menu Grub s’il est caché, au démarrage, appuyez sur Échap.

Choisissez un noyau en Recovery mode

grub recovery mode

Optez pour passer sur une console administrateur

grub root

Alors, faites Entrée et saisissez la commande pour restaurer un instantané :

sudo timeshift --restore
grub restauration timeshift

Restaurer un instantané en passant par un support Live incluant Timeshift (Restauration avec interface graphique)

Les supports d’installation de Linux Mint et de Manjaro (pas en version minimale) incluent Timeshift parmi les utilitaires disponibles dans session Live (Cette liste n’est pas exhaustive).

Alors si vous n’aimez pas la ligne de commande, créez une clé USB d’installation avec l’une de ces distributions et démarrez votre système à partir de cette dernière.

Le support d’installation de Manjaro permet de configurer la langue de sa session (ex. en français) et le type de clavier (ex. AZERTY) de la session Live alors que Linux Mint ne le permet pas (Anglais et QUERTY).

démarrage support-live Manjaro

Puis lancez Timeshift depuis le lanceur dans le menu des applications.

lanceur timeshift sur manjaro xfce live

Alors dans les paramètres d’emplacement, choisissez le disque où sont localisés vos sauvegardes Timeshift.

le mot de passe administrateur est par défaut sur :

  • Le LiveCD/USB Manjaro :  manjaro.
  • Le LiveCD/USB Linux Mint : mint.
Timeshift sur manjaro live - choix emplacement

Puis sélectionnez l’instantané que vous souhaitez restaurer et cliquez sur le bouton prévu pour cela.

Timeshift sur manjaro live - restaurer un instantané

Supprimer un instantané

Supprimer un instantané par l’interface graphique

Sélectionnez l’instantané à effacer et cliquez sur le bouton Supprimer de la barre d’outils.

Supprimer instantané timeshift

Supprimer un instantané en ligne de commande

Dans un terminal, faites :

sudo timeshift --delete

Choisissez l’instantané à supprimer.

Supprimer un instantané en ligne de commande

D’autres options sont possibles que vous pouvez retrouver en faisant :

man timeshift

Exemple, pour supprimer tous les instantanés, faites :

timeshift --delete-all 

Désinstallation de Timeshift

Pour désinstaller Timeshift sur Debian, Ubuntu, Linux Mint et dérivés, en ligne de commande, faites :

sudo apt remove timeshift

Pour aller plus loin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

44 Commentaires

  1. Merci pour cette note très détaillée, notamment sur l’usage de restauration en ligne de commande, que je n’ai jamais tenté!
    En complément de Timeshift pour les fichiers utilisateurs, j’utilise « Back in Time » qui n’est pas mal bien qu’un peu plus délicat à régler je trouve…

    1. Bonjour Hervé,

      Je ne connais que de nom Back In Time, mais ne l’ai pas encore testé bien qu’il semble très intéressant…
      Je vais voir pour remédier prochainement 😉

      Cordialement

  2. bonjour,
    Pour l’utilisation de TimeShift, avant d’essayer de sauvegarder sur une clé USB ; brancher celle-ci sur la machine. Sinon vous ne la verrez pas dans la désignation de la destination.

    C’est une Lapalissade, mais cela m’est arrivé.

  3. Bonjour J’ai installé sur ubuntu 18.04 timeshift selon la ligne de commande que vous proposez :
    sudo apt-add-repository -y ppa:teejee2008/ppa && sudo apt-get update && sudo apt-get install timeshift

    Mais j’ai le message suivant
    N: Ceci doit être pleinement accepté avant que les mises à jour depuis ce dépôt puissent être appliquées. Veuillez vous référer aux pages de manuel « apt-secure(8) » pour plus de détails.

    et n’étant pas une pro sur les commandes, la page aur apt-secuse
    http://manpages.ubuntu.com/manpages/bionic/fr/man8/apt-secure.8.html

    Ne me permet pas de régler le problème.
    Je n’ai pas accès à timeshift ?
    Pouvez-vous m’aider ?
    Merci

    1. Bonjour Corinne,

      En fait, la commande indiquée exécute trois commandes à la suite. Alors pour connaitre celle qui pose problème, faites les une à une :

      En premier, ajout du PPA (dépôt) de Timeshift :

      sudo apt-add-repository -y ppa:teejee2008/ppa

      En deuxième, rafraichir la liste des paquets :

      sudo apt update

      et pour terminer, l’installation de Timeshift :

      sudo apt install timeshift

      Ci-dessus j’utilise la commande apt à la place de apt-get mais ça revient au même.

      Alors, si une des commandes renvoie une erreur ne faites pas les suivantes. Et indiquez la moi.

      Cordialement

    2. Bonjour,

      Procédez comme décrit pat Le Tux masqué, ligne à ligne.
      Il s’ agit d’ un souci de signature du paquet sur le site des dépôts ( security check ).
      Tout ceci est trés clairement décrit sur la man page traduite en français dans les 2 paragraphes « dépôts signés » et « dépôts non signés. »
      En espérant que cela vous éclaire.
      M.

    3. Merci pour cette remarque, mais finalement j’ai décidé de me lancer dans la mise à niveau 18.04 à 20.04 directement. Et du coup timeshift est présent.
      La mise à niveau à donné quelques erreurs, mais ça semble quand même marcher plus ou moins.
      Merci pour votre réponse rapide !

  4. Bonjour,

    J’ai sûrement fait une erreur avec Timeshift qui lors d’une sauvegarde m’indique une insuffisance de place… J’essaie de supprimer des sauvegardes précédentes pour libérer de la place… Une nouvelle fenêtre s’est ouverte et pendant plus d’une heure, rien ne s’est passé, la diode jaune du HD restait éteinte… Alors j’ai arrêté.
    Maintenant, lorsque je veux lancer Linux Mint, apparaît un écran noir qui affiche :

    linux mint 19.3 tricia rabten tty1
    rabten login : _

    et lorsque dans rabten login j’inscris mon pass administrateur que j’utilise dans le terminal ou pour les mises-à-jour système, il ne se passe rien…

    Puis-je booter sur le DVD de la version 19.3 installée et en live essayer de vider Timeshift ?

    J’ajouterai que je suis un vieux « manchot » près des 80ème vieillissants qui ne glisse sur la banquise que depuis 2 petites années…

    Merci pour ce site clair et d’avance pour une réponse 🙂

    1. Bonjour Dandee,

      Il semblerait que vous ayez « cassé » votre installation avec l’extinsion hard….

      Quand vous dites qu’il ne se passe rien lorsque vous vous connectez sur le terminal, vous voulez dire que vous avez aucun message ? Pas de message mot de passe incorrect ?

      Vous pouvez toujours démarrer avec la live d’installation et libérer de l’espace, mais pas sûr que ça regle le probleme si des fichiers systèmes ont été corrompus.

      Quand vous aurez démarrez depuis la live-CD, vérifiez la taille qu’il vous reste sur la partition système.
      S’il y a encore de la place (>10% taille disque), le fait d’effacer vos sauvegardes timeshift ne servira à rien, mais en restaurez une vous permettra certainement de retrouver un système fonctionnel. En principe sauf, si vous l’avez changé dans les réglages, uniquement les fichiers système seront restaurés et vos fichiers perso ne seront pas touché.

      Sinon, effacer les snapshot Timeshift peut libérer de la place, mais malheureusement si le système est corrompu, vous devrez refaire son installation complète…

      Cordialement

    2. Bonsoir Le Tux Masqué,

      Ce qui se passe est que lorsque :
      – à l’invite « rabten login » j’inscris le nom de mon dossier /home et fais « entrée »
      – une invite s’ouvre pour me demander le mot de passe là, j’essaie d’écrire mon pass administrateur… mais le curseur clignotant clignote sans bouger et « entrée » renvoie « erreur »…

      Après avoir cherché, essayé et réfléchi, j’ai une petite idée : j’ai sur une autre machine une Mint 18.3 cinnamon installée. J’ai récupéré et mis sur une clé USB le dossier grub.

      Avec le live DVD de Mint 19.3 est-il faisable de remplacer le dossier grub de 19.3 [vide et marqué d’une croix] par le dossier grub copié sur la 18.3..?

      Sinon, j’ai récupéré la totalité du dossier /home de la 19.3 sur un HD externe au cas ou une réinstallation deviendrait inévitable.

      Par avance merci de votre réponse et bonne soirée. -danbee-

    3. Bonjour Dandee,

      Non, la copie d’un GRUB d’une autre installation, ne marche pas. La configuration de GRUB est spécifique à chaque installation. Par contre, sur le support d’installation de Linux Mint 19.3, vous avez un outil appelé Boot-Repair qui sert justement à réparer GRUB… Et qui est très simple d’utilisation.

      Concernant le mot de passe, il faut entrer le mot de passe de votre compte si ce dernier est différent de celui du compte administrateur. Aussi, que vous ne voyez pas le mot de passe se taper lors de sa saisie est normal.

      Cordialement

    4. Bonjour Le Tux Masqué,

      Après avoir tenté plusieurs choses, dont « boot-repair » sans résultat, avec le DVD j’ai :

      sauvegardé sur DD externe le dossier /home
      formaté la partition où était installée Mint 19.3 Tricia Cinnamon
      réinstallé Mint 19.3
      réinstallé mon dossier /home

      Tout fonctionnant parfaitement, j’ai fait les MàJ suivie d’une sauvegarde avec Timeshift à qui j’ai surtout indiqué le chemin d’un DD externe pour les sauvegardes que je ne farai désormais qu’à la demande 🙂

      Merci encore pour la clarté de ce site et votre cordial accompagnement.

  5. Bonsoirs, je cherche un moyen de sauvegarder les mise à jour apt-get update et upgrade je suis sur clé usb persistant. timeshift est-il le bon moyen pour faire cela ? Car au redémarrage de mon pc les mises à jour ont disparu. Bien cordialement

    1. Bonsoir,

      Si après mises à jour, celles-ci disparaissent après un redémarrage, c’est que votre clé n’est pas en mode live persistant et votre système se charge dans un ramdrive (en RAM donc qui s’efface après redémarrage).

      Timeshift fait des sauvegardes système. Alors, certes si vous faites un snapshot de votre système après mises à jour et que vous le restaurez cet instantané après un redémarrage, les paquets mis à jour précédemment le seront toujours. Mais c’est un peu lourd et pas du tout pratique…

      Cordialement

    2. Merci pour votre réponse, je suis bien en live persistant, tout se sauvegarde à par c’est mise à jour. Peut être que en dualboot sa réglera le problème car avec backtrack en dualboot je n’avais pas ce soucis. Cordialement