Sauvegarder votre système Linux avec Timeshift

thumbnail-tutoriel-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. Mais, il ne sauvegardera pas, par défaut, les fichiers personnels (documents, images, musiques,…) contenu dans le répertoire home.

Installation de Timeshift

Depuis Linux Mint 18.3, Timeshift est installé de base avec cette distribution. Aussi, il existe un retro-portage pour les versions 18 à 18.2. Ainsi vous pouvez l’installer depuis les dépôts officiels de Linux Mint.

sudo apt update && sudo apt install timeshift

Pour les autres distributions Linux basées sur Ubuntu, vous pouvez l’installer depuis le ppa en entrant la commande suivante dans un terminal :

sudo apt-add-repository -y ppa:teejee2008/ppa && sudo apt-get update && sudo apt-get install timeshift

Pour Debian, vous trouverez un fichier .deb correspondant à votre architecture sur la page releases du projet sur github. Vous trouverez aussi des fichiers .run pour les autres distributions Linux.

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

Paramétrage de Timeshift

Timeshift

Lors du premier lancement de Timeshift, l’assistant de configuration se lance automatiquement. Il permet de faire un premier paramétrage. Mais vous pouvez aussi aller dans Paramètres pour reprendre tous les réglages.

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

Timeshift - Paramètres - Type

RSYNC 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 instannés suivants.

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

Emplacement des instantanés :

Timeshift - Paramètres - Emplacement

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.

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

Timeshift - Paramètres - Planning

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 :

Timeshift - Paramètres - Utilisateurs

Par défaut Timeshift ne sauvegarde pas les dossiers utilisateurs dans les instantanés. A cela une bonne raison : 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 inclure vous pourrez le définir dans cette fenêtre en choisissant par utilisateur :

  • uniquement les fichiers cachés (fichiers de config entre autre…)
  • ou tout…

Définition de Patterns d’inclusion/exclusion

Timeshift - Paramètres - Filtre

Vous pourrez 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.

Timeshift - liste exclusion par défaut

Créer un instantané manuellement dans Timeshift

Timeshift créer

Pour cela cliquez sur Créer. S’il existe déjà un instantané, cela fera une sauvegarde incrémentielle par rapport au dernier existant.
En sélectionnant la ligne de l’instantané créé et en cliquant dans la colonne Commentaires, vous pourrez en ajouter un et ajouter des précisions .

Restaurer un instantané Timeshift

Sélectionner l’instantané puis cliquez sur Restaurer.

Timeshift Restaurer

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

Timeshift - Restaurer un cliché - 1

Pareil pour les Options du Bootloader.

Timeshift - Options du Bootloader

Lisez l’avertissement et si vous êtes prêt faite Suivant.

Timeshift - Restaurer un cliché - 2

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

Utiliser Timeshift en ligne de commande

Timeshift peut aussi s’utiliser en ligne de commande, par exemple sur un serveur distant. 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]

Pour avoir la liste de toutes les options :

timeshift --help

Pour allez plus loin

Vous pouvez visiter le wiki du projet sur Github.

Laisser un commentaire

Votre adresse de messagerie 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.

27 Commentaires

  1. Dernière info au sujet du dossier .cache.
    Ben rien à faire ! Quelque soit la version, je suis remonté jusqu’à la 17, même si l’application ne désactive pas le filtre ajouté, le cache utilisateur n’est jamais sauvegardé, le seul cache qui soit pris en compte avec les versions inférieures à 18 est celui du compte root.
    Du coup j’ai laissé le système refaire la mise à jour vers la version du gestionnaire qui est la 18.9.
    Je vais juste continuer à copier coller mon dossier dans la sauvegarde.

  2. Merci Le Tux masqué pour votre insertion de docus. explicites.
    En somme, selon le type de système et son stockage, l’ utilisation de snapshot semble plus adaptée à une config SAN avec réplication des données.
    Pour un poste standalone le recours à ce bon vieux « dd » en single user mode ou en session live restera longtemps encore largement suffisant.

    herrgé.

    1. Bonjour Herrgé,

      Un instantané (snapshot) n’est qu’une manière de nommer une sauvegarde faite à un instant T.

      Timeshift permet de faire ça à « chaud » et de manière incrémentale (comme la plupart des autres solutions qui existent aujourd’hui). Le fait de démarrer sur un clé USB ou un CD pour sauvegarder un système à « froid » n’est plus utile de nos jours.

      Si vous avez un poste standalone, je vous recommande d’ajouter un second « DD » dessus, de le formater en ext4 et de choisir rsync dans Timeshift. Et ça sera parfait pour sauvegarder et restaurer si besoins (par exemple s’il est cassé après une mise à jour de noyau ou d’un paquet…) votre système dans un état fonctionnel.

      Pour des documents personnels, vous pouvez utiliser Timeshift, mais personnellement je ne le recommande pas. Pourquoi ? Une sauvegarde Timeshift se fait selon une récurrence donnée (heure, jour, semaine, mois, etc). Mais vos documents peuvent « vivre » d’ici à la prochaine sauvegarde. Et en cas de restauration, ils seront remplacés par ceux contenus dans la sauvegarde entraînant la perte d’éventuelles modifications qu’ils auraient connues…

      D’autres possibilités existent pour eux : à l’ancienne avec une sauvegarde manuelle régulière, ou pour vivre avec son temps avec des outils qui permettent la synchronisation instantanée, incrémentale et parfois avec gestion de versions vers une destination locale (ex FreeFileSync) ou distante (ex NextCloud).

      Je ne sais pas si ça répond à vos interrogations. Si non, n’hésitez pas à m’en dire plus sur votre besoin exact…

      Cordialement

  3. Merci tux masqué pour ce tuto mais…Alors que dire : Ce que vous expliquez, j’ai pourtant bien dis que je l’avais fait sans résultat.
    Donc avec des screenshots j’espère être mieux compris :
    [url=https://postimages.org/][img]https://i.postimg.cc/LncwTR0f/1.jpg[/img][/url]
    [url=https://postimages.org/][img]https://i.postimg.cc/VJXTZT3h/2.jpg[/img][/url]
    [url=https://postimages.org/][img]https://i.postimg.cc/JymFfx8z/3.jpg[/img][/url]
    « Par contre, en principe le dossier .cache ne contient que de fichiers caches qui se génèrent automatiquement quand une application en à besoins  »
    Tout à fait…En principe !

    Mais dans ma distro (MXLinux) mon choix d’interface customisée pour mes mes vieux yeux que plus rien n’améliore, se situe dans ce dossier « .cache » et si ce dossier n’est pas sauvegardé, à la prochaine restauration si besoin, je n’ai plus le pointeur XXL qui est rendu à sa taille par défaut ainsi que la taille des fontes etc …Je ne les vois plus, je sais que ça n’est pas la mer à boire que d’aller restaurer le fichier de la config perso mais autant m’en passer si possible d’autant que je ne me souviens pas forcément de la manip.

    1. Bonjour Insam,

      Désolé, mais vos images sont à la taille d’un timbre poste et je ne distingue pas grand chose dessus pour vous aider.
      Je ne connais pas MX Linux, mais d’après ce que j’ai lu, elle est basée sur Debian avec l’environnement XFCE. Et les fichiers de config de XFCE sont en principe dans ~/.config/xfce4, Du moins sur Debian, Ubuntu,…

      Cordialement

      1. Effectivement les images étaient censées être des miniatures cliquables mais ça ne fonctionne pas, je vais donc mettre des liens directs.
        https://postimg.cc/5Qwf1S0N
        https://postimg.cc/w1WySgZ4
        https://postimg.cc/hhqL8PBV
        Pour les dossiers de configuration de mon compte personnel, qui sont « .config » et « .dconf » qui lui n’est que dans .config, Je sais restaurer ma configuration de base car elle est sauvegardée dans ces dossiers.
        Les customisations de taille de curseur ou de fonte ne sont pas restaurées en cas de vidage du cache, il faut faire une manipulation qui est simple et rapide quand on voit ce qu’on fait mais cette manipulation devient compliquée quand on y voit plus rien. C’est comme si chez vous vous savez exactement où trouver les couverts, mais si on vous bande les yeux vous allez quand même bien tâtonner avant de mettre la main dessus.
        Si le .cache est restauré comme le reste du dossier perso je n’ai pas à tâtonner.
        Mon dossier home ne contient que la config de base et des liens vers une partition de données mais il est impossible de déplacer le dossier .cache et le remplacer par un lien (ou alors faut qu’on me donne l’astuce)
        Mais bon tout ça n’est que pour signaler l’impossibilité de modifier la liste des « ignorés » de Timeshift, contrairement à ce qui est dit dans le tuto.
        Ça ne me pose pas plus de souci que ça, lorsque je fais une sauvegarde, il me suffit de l’ouvrir et d’y copier/coller le dossier .cache ou il faut et il sera restauré comme il le doit.

        Cordialement

      2. Bonjour Insam,

        Je confirme avoir le même bug avec les 2 dernières versions de TimeShift (v19.08 et v19.08.1), mais pas en v18.9.1 : les filtres « Inclusions » ajoutés manuellement ne sont pas pris en compte.
        D’ailleurs, le problème a déjà été reporté par un utilisateur, mais semble sans réponse pour le moment : https://github.com/teejee2008/timeshift/issues/496 (n’hésitez pas à y apporter votre contribution…).
        En attendant une correction, vous pouvez peut-être envisager d’utiliser un version moins récente qui n’a pas ce soucis.
        Mais affaire à suivre…

        Cordialement,

  4. Timeshift est très bien sauf pour une chose : impossible de lui demander de sauvegarder un dossier .cache de l’utilisateur ou de l’administrateur.
    Or il est primordial de le sauvegarder si on veux retrouver toute sa configuration dont certains éléments ne figurent que dans ce dossier.

      1. Bien !
        Alors comment fait-on ?
        Parce que j’ai beau inclure le dossier .cache de l’utilisateur dans les filtres, rien à faire il n’est pas sauvegardé.
        Il est écrit dans ce tuto « Vous pourrez 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. »

        Oui la liste est bien là, mais elle est cochée validée d’office, on ne peut pas décocher cette case donc aucune possibilité de modifier la liste.

        Du moins je n’ai pas trouvé l’astuce si astuce il y a.

      2. Bonjour Insam,

        Je confirme la réponse de Herrgé.
        Pour ajouter uniquement le dossier .cache d’un utilisateur dans l’instantané, allez dans Paramètres puis onglet Filtres (1) et faites Ajouter des dossiers (2)

        TimeShift - Filtres

        Sélectionnez le dossier .cache de votre utilisateur. Pour le trouver, affichez les dossiers et fichiers cachés.

        https://www.numetopia.fr/wp-content/uploads/2020/01/timeshift-choix-dossier-a-ajouter.pngTimeShift - ajouter un dossier

        Enfin ajouter le à la sauvegarde (Par défaut, à l’ajout, il est exclu).

        TimeShift - Inclure le dossier .cache

        Par contre, en principe le dossier .cache ne contient que de fichiers caches qui se génèrent automatiquement quand une application en à besoins s’ils n’existent pas.

        Les fichiers de config se trouvent principalement dans les dossiers cachés .config et .local des utilisateurs.
        Aussi, vous pouvez inclure simplement ces dossiers en sélectionnant dans l’onglet Utilisateurs d’inclure les éléments cachés ou tout.

        Cordialement

    1. Bonjour Herrgé,

      Qu’entendez-vous par « Niveau 2 » ?
      Timeshift sauvegarde tous les fichiers enregistrés sur le disque qu’ils soient ouverts ou non. Par contre, si le fichier est ouvert et est verrouillé par l’application qui l’a ouvert (par exemple un document LibreOffice), son état sera sauvegardé tel quel et donc le « verrou » sera aussi enregistré… S’il est modifié mais sans être sauvegardé, les modifications ne seront pas sauvegardées.
      Sur un système de fichier ext3/4, s’il est modifié pendant sa sauvegarde, au final, son intégrité sera aléatoire. Mais la probabilité pour que ça arrive reste très faible.
      Avec un système de fichier Btrf, il y a moins de risque de corruption d’un fichier. Ce système de fichier (fs) est justement prévu pour ce genre d’opération.
      En simplifiant, lors d’une sauvegarde depuis un fs Btrf, l’opération commence par figer dans un instantané les fichiers à sauvegarder. Cette opération est immédiate. Puis pour la copie des fichiers, opération qui peut prendre du temps en fonction de la destination (par exemple un dossier réseau), c’est cet instantané qui sert de source à la copie. Ainsi, ces derniers peuvent continuer de vivre, d’être modifiés, supprimés, sans que ça altère le résultat de l’opération.

      sauvegarde avec fs btrf

      Cordialement.

      1. Bonjour et merci pour votre réponse qui répond tout à fait à ma demande
        Niveau 2?, issu de system V, qui gèrait les niveaux d’ éxécution 0, 1 ou s/S, 2, 3, 4, 5, et 6 selon les implémentations d’ Unix. ( code de retour de la commande « $ who -r » )
        Bon WE!

  5. Bonjour,

    Pouvez-vous m’expliquer que différence il y’a entre la sauvegarde en RSYNC et Btrfs ?
    Quel des deux méthodes est la plus fiable ou la meilleur ?
    Y ‘a t-il un gain quelconque entre ces deux types de sauvegardes ?
    Merci d’avance pour votre aide 😉

    1. Bonjour jpdc91

      Il n’y a pas de meilleure méthode.

      Rsync est un logiciel de synchronisation de fichier ancien et fiable, largement utilisé pour la sauvegarde et la synchronisation de serveurs par exemple.
      Btrf est un système de fichier récent (2009). Une partie de la communauté voudrait qu’il remplace à terme ext3 et ext4. Parmi ses fonctionnalités, il y a :

      • le copy-on-write (copie sur écriture)
      • la prise en charge direct des instantanés (état d’un système à un instant donné)
      • le checksum (permet de vérifier l’empreinte d’un fichier).

      Par contre, il est moins rapide que ext4 pour le transfert de fichier…

      Donc dans TimeShift, le choix de la solution utilisée dépendra du formatage de votre système de fichier :

      • Si vous êtes en ext4 (ou ext3) sélectionnez rsync.
      • Par contre, si vous avez votre système formaté en Btrf, faites ce choix pour avoir les avantages de ce dernier dans la création et gestions des instantanés.

      Cordialement,

  6. Merci pour votre réponse très claire, vous rendez un super service à la communauté. J’ai donc suivi votre procédure, il se trouve que seul le dernier cliché est complet. Les clichés précedents ne comprennent aucune donnée vidéo ou autre dans les ‘home’, seuls certains fichiers cachés ou système y sont présents. Comme, par précaution j’avais fait un cliché une fois le nouveau système installé, il n’y a plus aucun fichier ancien dans les sauvegardes précedentes… Pas grave si l’on a un serveur, ennuyeux sur un ordi isolé. Merci encore pour votre réponse et votre gentillesse. FE

    1. Bonjour Felix,

      Timeshift ne garde pas toutes les sauvegardes, à part celle faites à la demande. Le nombre de version qu’il conserve dépend du paramétrage Planning où on indique le nombre de version à conserver par Mois/Semaine/Jour/Heure/Boot.
      En principe vous devriez retrouver vos fichiers dans chaque répertoire de cliché s’ils étaient existants et non exclus au moment de sa création… N’avez vous pas modifié les paramètres de Timeshift entre temps ?

  7. Bonjour,
    Je viens d’installer fedora 31 en version beta, et je souhaite restaurer uniquement les données home sur cette distribution via time shift que j’utilise depuis la fedora 29. j’ai donc une sauvegarde du 13 septembre (W), je ne suis pas certain du paramétrage chemin d’acces périphérique
    / dm-2(sbd2)~ ext4 (73 GB) (j’ai un doute sur ce paramètre)
    /boot conserver sur périph racine (je pense que c’est ok pour garder fed31)
    /home dm-2(sbd2)~ ext4 (2TB) (c’est ce que je veux restaurer)

    Merci de me donner votre avis sur ce cas qui peux aussi aider d’autres neophytes en timeshift

    1. Bonjour,

      TimeShift ne permet pas de faire de restauration partielle. Il restaure un instantané système complet. Un instantané système comprend :

      • un dossier racine /
      • un dossier /boot (généralement sur la même partition que /)
      • et un dossier /home. /home peut être dans sur la même partition que /, ou sur une partition différente. Dans ce cas, il faut indiquer à Timeshift laquelle pour qu’il restaure les fichiers au bon endroit. D’ailleurs, Timeshift, par défaut, ne sauvegarde de /home que les sous-dossiers direct (dossier des utilisateurs), mais pas leurs contenus, sauf si les paramètres d’instantanés ont été modifiés

      Toutefois, si vous voulez restaurer le dossier /home uniquement pour récupérer des documents (personnellement je déconseille d’utiliser TimeShift pour gérer les sauvegardes de documents de /home, il est plus prévu pour des sauvegardes de système…), plutôt que de restaurer un instantané, sélectionnez celui où se trouve les fichiers voulus puis faites parcourir. Ça ouvrira le navigateur de fichier avec des droits root à la racine de l’instantané. Alors cherchez et copiez manuellement les fichiers voulus.

      Cordialement,

  8. Salut Tux Masqué,

    Encore un super tuto, merci 🙂

    Je m’interroge juste sur l’espace disque que prennent ces sauvegardes.

    Par exemple, si le système (20 go) est installé sur un ssd de 60 go, quel place va prendre l’instantané sur ce ssd ? Et si par sécurité on veut conserver 3 instantanés différents, quelle taille feront-ils ?

    Autre question : si sur ce ssd on n’a que le répertoire root, le reste étant sur un disque dur, Timeshift gère-t-il ça tout seul ou faut-il configurer qq chose ?

    Je n’ai pour tout système de sauvegarde qu’une image disque de mon ssd sur un autre ssd dans un tiroir, alors je me dis qu’il serait peut-être temps de passer à un truc plus pratique 😉

    1. Bonjour Pablo,

      Merci 🙂 et ça fait plaisir de voir que vous consultez toujours mon site :mrgreen:

      Pour les réponses, voici :

      Question 1 :

      Si votre système (hors dossier /home/nom_utilisateur) fait 20 Go, alors le premier instantané fera 20 Go. Timeshift ne compresse pas ses sauvegardes. Mais, les autres instantanés seront beaucoup plus petits. En effet, Timeshift fait de la sauvegarde incrémentale. C’est à dire qu’à la suite de l’instantané initial, il ne sauvegarde que les fichiers nouveaux et ceux mis à jour. Pour le reste, il pointe vers les fichiers du premier instantané.

      Aussi, pas possible de vous donner une taille même approximative pour ces instantanés, ça dépendra des modifications faites sur votre système depuis la dernière sauvegarde.

      Question 2 :

      Sous Linux, si les répertoires /root, /home,… sont sur un autre disque que le reste du système, pour l’OS ça change rien. Leur emplacement reste /root ou /home,… Pour Timeshift, c’est pareil. Il voit une arborescence partant de / et ne tient pas compte des emplacements physiques pour trouver ce qu’il a à sauvegarder. Rien à configurer pour cela.

      J’espère que ça répond à vos questions.

      Cordialement.

      1. Ce site est très précieux et j’y passe souvent, surtout depuis que je « trafique » un peu Ubuntu. J’y trouve beaucoup de réponses, non pas qu’il n’y en ai pas ailleurs mais l’avantage est qu’ici c’est bien plus compréhensible. C’est donc à moi de vous remercier 😉

        Pour Timeshift, réponses limpides, comme toujours. Je pense que je vais l’essayer sur un ssd-test histoire de voir quelle taille prennent les instantanés. Puis si ça n’est pas trop gourmand, je l’installerai définitivement sur une config ou ils se feront sur un disque séparé, ce qui semble en effet plus prudent.

        Encore merci et longue vie au Tux Masqué 🙂

  9. Comment fixer l’heure de déclenchement ??

    Le lancement reste assez aléatoire, même si Timeshift est sensé se lancer toutes les heures, ce n’est pas le cas ??
    (Linux Mint 19)

    1. Bonjour,

      Le processus de création planifiée d’instantané Timeshift s’appuie sur CRON (gestionnaire de tâches planifiées sous Linux).
      Ce processus se lance toutes les heures (/etc/cron.d/timeshift-hourly). Et en fonction de votre configuration, les instantanés « jour », « semaine » et « mois » se feront au début de l’heure qui suit le démarrage de votre système.
      Mais attention, Timeshift ne créera un nouvel instantané que s’il y a eu des modifications à sauvegarder depuis le dernier créé. Par exemple, si vous avez planifié des instantanés toutes les heures mais que vos fichiers systèmes n’ont pas changé (pas eu de mise à jour, pas de nouveaux logiciels installés,…), il n’y aura pas de nouvel instantané créé. Aussi, par défaut votre répertoire /home n’est pas sauvegardé et donc des modifications dans ce dernier ne créeront pas nouvel instantané.