+++
title = "Réaliser ses sauvegardes sous OpenBSD"
date = 2021-11-08
description = "Plusieurs solutions pour faire de bonnes sauvegardes :sourire: "
template = "articles.html"
+++

﻿# Réaliser ses sauvegardes sous OpenBSD

Je vais tenter dans cet article de vous présenter mes diverses solutions pour réaliser ses sauvegardes sous OpenBSD ainsi qu'une solution plus personnelle et plus rapide que j'utilise depuis un bon bout de temps.

## OK mon copain, on commence ?!

Ouais ! Bon alors avec OpenBSD il y a deux méthodes vraiment sympas, je te donne le lien ici vers [documentation officielle](https://www.openbsd.org/faq/faq14.html), car ils font ça très bien et si tu la veux en français il y a la [traduction sur openbsd.fr.eu.org](https://wiki.openbsd.fr.eu.org/doku.php/openbsd.org/faq/start) .

### Le dossier /altroot

Donc le principe du dossier /altroot c'est que si ton premier disque tombe en panne, hé ben c'est le disque que tu vas monter sur le dossier /altroot qui prendra le relais ! Ainsi pour mon serveur autohebergé, j'ai une grosse partition racine et comme ça tout est sauvegardé dedans chaque nuit à MINUIT; et quand mon disque SSD se cassera (j'en ai jamais cassé) hé bien j'aurais le disque de secours prêt à démarrer et je pourrais recommencer le processus avec un autre disque.

### Dump et restore

Ensuite il y a une méthode avec dump et restore, l'avantage de cet outil, c'est sait automagiquement ce qu'il faut sauvegarder comme fichier ou pas. Il ne les choisit pas hein, il n'y pas d'IA de m..... ou quoi, il sait simplement que tels fichiers sont générés par des processus ou au démarrage et ne concerne pas les données des utilisateurs alors, il ne les sauvegarde pas. Ça évite les erreurs lors de copies massives. Et de se prendre la tête, à savoir les dossiers à exclure ou pas.

Là aussi, tu peux brancher un disque en USB ou autres et sauvegarder les dossiers qui t'intéressent avec la commande:

   cd /Mon_dossier_a_sauvegarder && dump 0f - . | (cd /mon_dossier_de_sauvegarde && restore -rf - )

## Ouais, mais les sauvegardes, elles doivent être un peu longue là non ?

Ouais, mais on s'en fout un peu dans ce cas-là, tu ne vas pas brancher ton disque avant de partir prendre le train en devant absolument le débrancher quand c'est fini sinon ce n'est pas bon ! C'est complètement con.

Ce que je fais pour être un plus rapide, c'est que je sauvegarde aussi sur ma station de travail les données de mon serveur. Elles sont chiffrées pour l'essentiel et le disque de ma station de travail est chiffré aussi. Et au moins en cas de pépins ou que sais-je, ben j'ai une copie de secours disponible rapidement. Par contre là c'est intéressant que ce soit rapide. Je veux une modif sur le serveur; je sauvegarde vite fait et hop ! En avant les conneries !

Donc j'utilise rsync pour ça et ca fonctionne bien jusqu'a présent:

    rsync -av --exclude={'run', 'cache'} -e "ssh -i ma\_clef\_ssh" root@kitoy.me:/var/ sauvegarde_serveur/var/

    rsync -av -e "ssh -i ma_clef_ssh" root@kitoy.me:/home/ sauvegarde_serveur/home/

    rsync -av -e "ssh -i ma_clef_ssh" root@kitoy.me:/etc/ sauvegarde\_serveur/etc/

Et puis pour les bases de données, je finis avec un pg dans Paul comme ceci :

    ssh -i ma_clef root@kitoy.me pg_dumpall -U votreuser > sauvegarde_serveur/save_postgres.sql

J'ai bien évidemment tout ça dans un script et donc je peux faire ces opérations en une commande et ça prend quelques minutes à moins d'une minute selon s'il y a de l'activité ou pas… Je sais que: plus je le fais; plus c'est rapide. Plus je tarde, plus c'est long. Donc ça encourage à en faire souvent.

## Ouais, mais pourquoi tu fais ça comme ça ... tu peux générer des archives en local et les récupérer, c'est plus simple ?

Bien oui et non, car j'ai généralement bossé sur des systèmes avec peu d'espace disque et j'ai pris cette habitude pour sauver les données, générer une archive pour moi, c'est casse-gueule parce que le jour où il n'y a plus d'espace disque suffisant bah… la sauvegarde ne peut pas se faire et voila ça fait de jolies erreurs et ta backup n'est pas faîtes. Je peux aussi mettre ce script sur mon NAS aussi avec une clef qui ne peut se connecter au serveur qu'avec une adresse réseau défini (celle du NAS bien sûr ^^ ) et ça fait le travail aussi.

Voilà, j'espère que ce n'était pas trop relou, sache que si tu sais faire mieux c'est cool, je suis content pour toi et je serai ravi d'en apprendre plus. Pour l'instant, cette méthode fonctionne chez moi depuis pas mal de temps donc je la conserve :). Le top dans mes idées d'améliorations, ce serait de mettre en place une backup avec [Borg.](https://www.borgbackup.org/) J'ai commencé à y réfléchir, je trouve [Borg](https://www.borgbackup.org/) plutôt bien fichu alors ça ne devrait pas trop tarder.
