guide-preparation-vacances/chapitre_1_3.md
2021-07-09 00:49:36 -04:00

5.4 KiB

Faire ses sauvegardes (et les tester)

Poste de travail: rsync

Disponibilité du logiciel

Pour sauvegarder l'ensemble du contenu important de mon poste de travail, j'utilise un disque dur externe. C'est une méthode abordable qui respecte un des principes d'une bonne sauvegarde: être hors-ligne. Pour transférer mes fichiers vers ce disque, j'utilise un logiciel en ligne de commande qui fait exactement ça, des copies. C'est rsync (pour Remote Sync). Il est disponible sur macOS et sur GNU/Linux sans installation additionnelle.

Installation sur Windows

Sur Windows, si vous avez installé MSYS2 que j'ai présenté au chapitre 1, alors pour obtenir rsync, il suffit de l'installer avec la commande suivante:

pacman -Syu rsync

Note: Dans MSYS2, les répertoires sont représentés à la manière de Linux. Donc, le disque C:\ se situe plutôt dans /c/

La seule commande à retenir

Comme la majorité des logiciels provenant du monde GNU/Linux, rsync possède de nombreuses options. Cependant pour notre besoin, une seule commande est à retenir. Elle s'écrit comme suit:

rsync -av \
--progress \
--delete \
/source/mondossier \
/destination/mondossier

Voici le détail des options:

  • -av signifie archive verbose. C'est à dire que nous effectuons une archive et que nous voulons que le logiciel affiche toutes les opérations effectuées.
  • --progress signifie d'afficher l'état d'avancement de la synchronisation.
  • --delete signifie de supprimer les fichiers sur la destination qui n'existent plus sur la source. Ceci nous empêche de conserver de vieux fichiers qui ont été supprimé depuis la dernière sauvegarde. Si vous effectuez une sauvegarde automatisée, je vous conseille de supprimer cette option et de refaire une exécution manuelle de temps en temps, en prenant soin de tester l'exécution comme suit.

Tester avant d'exécuter

rsync est un outil puissant et rapide qui ne pardonne pas les erreurs. Un conseil d'ami: toujours tester ses commandes rsync avec une exécution d'essai via l'option --dry-run, que l'on ajoute à la commande.

rsync -av \
--dry-run \
--progress \
--delete \
/source/mondossier \
/destination/mondossier

Fin de l'exécution

Lorsque la commande est terminée, ça va produire un sommaire comme suit:

sent 391,414,597 bytes  received 16,270 bytes  46,050,690.24 bytes/sec
total size is 391,253,238  speedup is 1.00

Afin de valider que la sauvegarde est bien réussie, il suffit d'exécuter à nouveau la commande. Si aucun fichier n'est synchronisé, alors c'est le cas !

Projets en cours et contenu: Nextcloud

Pour garder des copies de sauvegarde de tous mes projets en cours et de mes contenus pour le web, j'utilise Nextcloud, qui est installé sur mon serveur en autohébergement.

Capture d'écran de Nextcloud Fichiers

Avec Nextcloud, l'avantage, c'est que j'ai une copie sur chacun de mes ordinateurs qui se garde synchronisée automatiquement.

Capture d'écran du client Nextcloud local

De plus, le serveur permet de gérer les versions multiples des fichiers. Ce qui permet de réparer les erreurs de manipulation en plus de me protéger contre les incidents matériels.

Capture d'écran du panneau des versions de Nextcloud Fichiers

J'ajoute à cela le fait que mon répertoire local de Nextcloud est aussi sauvegardé sur mon disque externe avec rsync, tel que je l'ai présenté précédemment.

Code et fichiers texte: git

Les fichiers qui changent rapidement, tel que le code, doivent avoir leur propre mécanisme de sauvegarde qui permet des retours arrières illimités, ainsi qu'une gestion des versions. Pour ce faire, on utilise un système qui est maintenant omniprésent chez les développeurs: git.

Ce logiciel fonctionne de manière autonome, mais peut être utilisé comme mécanisme de sauvegarde en mode client et serveur. Du côté serveur, les services GitHub et GitLab sont les plus populaires. Mais, si comme moi vous êtes tentés par l'autohébergement, je recommande le logiciel Gitea.

Les données qui sont communiquées à travers Git sont chiffrées et signées. Donc à chaque fois qu'une transaction a lieu entre un client et un serveur, il y a une certitude de l'intégrité des données. Git est donc en soi un système de sauvegarde très performant.

Création d'un répertoire géré avec git

Serveurs et site web: Borg

Borg est un logiciel de gestion de sauvegarde qui est spécialisé dans la sauvegarde avec cryptographie. Si vous choisissez de sauvegarder vos données sur un service infonuagique, il est très fortement recommandé de crypter vos données avant l'envoi.

Borg est basé sur rsync et offre des fonctionnalités spécifiques tel que la compression et la gestion des versions de sauvegardes. De ce fait, il est le candidat tout indiqué pour faire des sauvegardes automatisées, sécuritaires et sans entretien.