En juillet j’ai fais un article sur la mise en place de sauvegardes via restic et restic server.
Les sauvegardes fonctionnaient Ă merveille. Le serveur Ă©tait un petit dĂ©diĂ© Ă base d’atom et 1To d’espace disque que je louais chez OneProvider. Il s’agissait en rĂ©alitĂ© d’une petite dedibox.
L’OS Ă©tait donc nixos et cette semaine j’ai voulu la passer en version 22.11
La montĂ©e de version s’est bien passĂ©e, j’ai juste eu besoin de corriger la configuration de caddy. Suite Ă cette mise Ă jour majeur, j’ai fait un reboot et …. rien.
Le serveur n’a jamais redĂ©marrĂ©, et rien via l’ipmi. Je contact le support et quelques heures après on m’annonce que le serveur est mort et qu’ils n’ont pas de machines de secours.
On me propose un remboursement, soit. Le plus Ă©trange c’est que j’ai eu exactement la mĂŞme chose Ă l’automne avec un autre petit serveur Ă 5€/mois.
C’est pas un drame, mais la pratique commerciale est un peu fumeuse. Le vrai problème c’est que j’avais plus de sauvegarde :/
Après une recherche, je dĂ©couvre l’offre de Hetzner pour des storages boxes. Le tarif est top (compter 3.84€/mois) pour un espace de stockage de 1To.
Le processus de souscription est simple, accessible Ă tous et en 5 minutes l’espace de stockage est dispo. Il est accessible de plein des manières, comme du borg backup en version 1.2, du ssh et du webdav.
Pour le sftp (ou ssh) il faut changer le port par défaut, pour le port 23. La doc est très bien faite.
Que faire alors pour changer ma configuration et faire des sauvegardes, toujours via restic ?
La première Ă©tape c’est de copier votre clĂ© ssh sur le storage boxe pour avoir une connexion sans mdp :
cat .ssh/id_ed25519.pub | ssh -p23 u3297xx@u3297xx.your-storagebox.de install-ssh-key
Puis dans le configuration.nix on ajoute la configuration de connexion pour le /etc/ssh/ssh_config
programs.ssh.extraConfig = "Host u3297xx.your-storagebox.de\n Hostname u3297xx.your-storagebox.de\n Port 23\n user u3297xx\n IdentityFile /home/alexandre/.ssh/id_ed25519";
Seconde Ă©tape la configuration de restic, ou l’on passe d’un localbackup Ă un remote, soit :
remotebackup = {
initialize = true; # crée le repo s'il existe pas
passwordFile = "/run/restic_pass"; # mot de passe pour accéder au repo, voir article précédent
paths = [ "/var/lib/nextcloud/data/" "/var/backup/postgresql" ]; # ce que nous allons sauvegarder
repository = "sftp:u329746@u329746.your-storagebox.de:/home/Nextcloud"; # ou se fait la sauvegarde, ici dans un dossier Nextcloud sur le storage boxe
# Configuration de la périodicité des sauvegardes, cela cré un timer
timerConfig = {
OnCalendar = "02:05";
RandomizedDelaySec = "5h";
};
};
Un petit sudo nixos-rebuild switch
après et la sauvegarde est de nouveau opérationnelle, enjoy :-)