J’utilise au quotidien un serveur Linux dédié chez OVH sur lequel notamment j’héberge ce blog. Vu le peu de changement, jusqu’à maintenant je sauvegardais manuellement lorsque je jugeais bon de le faire, à coups de SFTP. J’ai décidé récemment d’automatiser cette tâche à l’aide de l’outil BorgBackup.
Il est facile à utiliser (CLI), il gère la déduplication, les sauvegardes incrémentales et différentielle, ainsi que la compression de fichier et le chiffrement.
Mon serveur de sauvegarde sera mon Synology NAS à la maison.
Activer les fonctions nécessaires du NAS et créer la connexion
- Activer le service SFTP dans l’application Services du fichiers.
- Vérifier que l’utilisateur a bien les droits sur FTP (oui c’est bizarre).
Le NAS va automatiquement créer un répertoire NetBackup dont je me servirais comme répertoire de sauvegarde. On ne peut le supprimer, alors autant s’en servir.
- Si le NAS est derrière un routeur, créer la redirection de port qui va bien. Sur ma Freebox, ça donne ça (Athena est le nom de mon NAS)
Nous allons monter le répertoire de sauvegarde dans un répertoire du serveur en SSHFS. Pour éviter d’avoir à taper le mot de passe du NAS à chaque fois, nous allons créer une paire de clé d’authentification.
- Si ce n’est pas déjà fait, activer le serveur SSH du NAS.
- Activer le répertoire home des utilisateurs du NAS
- Depuis le serveur, se connecter en SSH avec le login et le mot de passe. Si la connexion fonctionne, on continue.
ssh orlanth@<ip externe du NAS> -p 40022
- Depuis le serveur, créer une paire de clé puis copier la clé sur le NAS
ssh-keygen - t rsa ssh-copy-id -p 40022 orlanth@<ip externe du NAS>
Il va demander une dernière fois le mot de passe.
Une fois cette opération terminée, tentez de vous connecter à nouveau. Le serveur ne doit plus demander de mot de passe.
Installer Borgbackup, créer le répertoire de destination, lancer les sauvegardes
- Sur le serveur distant, installer borgbackup et sshfs
sudo apt install borgbackup sshfs
- Créer le répertoire de sauvegarde
sudo mkdir /mnt/BorgRepo && sudo chown <user>: /mnt/BorgRepo
- Monter le repertoire du NAS sur le serveur
sshfs -p 40022 orlanth@<ip externe du NAS>:/NetBackup /mnt/BorgRepo
De là, vous pouvez tester que tout va bien en créant un fichier dans BorgRepo et en vérifiant qu’il apparait bien des deux côtés, sans problème de droits.
- Initialiser le répertoire de destination ( à faire une seule fois)
borg init --encryption=none /mnt/BorgRepo
- Créer une première sauvegarde
borg create -v --stats --progress /mnt/BorgRepo::{now} /var/www
Grâce à {now} la sauvegarde portera un nom créé à partir de l’heure du lancement de la commande.
Et voilà pour la mise en place d’une première sauvegarde.
Si tout fonctionne, il n’y a plus qu’à automatiser, ce qui fera l’objet d’un prochain article.
Références
Sebsauvage
Borg info
Just another blag