diff --git a/Plan Borg/README.md b/Plan Borg/README.md index 15ed55e..77fe2f0 100644 --- a/Plan Borg/README.md +++ b/Plan Borg/README.md @@ -19,15 +19,35 @@ Quelques pré-requis : - l'adminsys d'une machine doit pouvoir régler lui-même certaines caractéristiques de la sauvegarde de sa machine : avec Borgmatic, il dispose d'un fichier de configuration où configurer des hooks (pour une base de données par exemple) ou définir les dossiers à sauver, définir les exclusions… - l'adminsys de la sauvegarde doit pouvoir régler lui-même certaines caractérisiques des sauvegardes tels que rétention, horaire et autres : il dispose d'un fichier de configuration par machine sauvegardée et d'un script de déclenchement des sauvegardes. -Flux général : +Flux en mode `local` : ``` saukvipeu:/etc/cron.d/backups - -> /srv/borg/bin/dobackup-remote fqdn1 - --ssh(admin666@fqdn1)--> sudo borgmatic create --verbosity 1 + -> /srv/borg/bin/dobackup-local + --> borgmatic create --verbosity 1 + -> /etc/borgmatic/fqdn.yaml + /etc/borgmatic/excludes + --> /var/backups/borg/fqdn.repo +``` + +Flux en mode `remote` : +``` +Systemd.borgmatic.timer + --> borgmatic.service + --ssh(borg@fqdn1)--> sudo borgmatic create --verbosity 1 -> fqdn1:/etc/borgmatic/config.yaml + /etc/borgmatic/excludes --ssh(borg@sauvkipeu)--> /var/backups/borg/fqdn1.repo ``` +Flux en mode `rysnc` : +``` +saukvipeu:/etc/cron.d/backups + -> /srv/borg/bin/dobackup-rsync fqdn1 + --> borgmatic create --verbosity 1 + -> fqdn1:/etc/borgmatic/config.yaml + /etc/borgmatic/excludes + --> rsync fqdn1 /var/backups/borg/mirros/fqdn1/ + --> /var/backups/borg/fqdn1.repo +``` + + Organisation des fichiers côté machine sauvegardée en mode `remote` : - /etc/borgmatic/ - config.yaml : configuration de la sauvegarde, @@ -201,6 +221,12 @@ apt update apt install -t bullseye-backports borgmatic borgbackup ``` +Par défaut, le service Systemd de Borgmatic n'a pas d'action en paramètre et cela déclenche une série d'actions : `prune`, `create…` Nous lançons le prune côté serveur donc il faut forcer l'action `create` dans le fichier `/lib/systemd/system/borgmatic.service` : +``` +– ExecStart=systemd-inhibit --who="borgmatic" --what="sleep:shutdown" --why="Prevent interrupting scheduled backup" /usr/bin/borgmatic --verbosity -1 --syslog-verbosity 1 ++ ExecStart=systemd-inhibit --who="borgmatic" --what="sleep:shutdown" --why="Prevent interrupting scheduled backup" /usr/bin/borgmatic create --verbosity -1 --syslog-verbosity 1 +``` + Créer des clés `ssh` pour l'utilisateur `root` (si besoin) : ``` sudo ssh-keygen -t ed25519 @@ -225,13 +251,10 @@ Vérifier que la configuration Borgmatic est valide : validate-borgmatic-config ``` -Ajouter la clé `root` du serveur de sauvegarde dans `/home/admin666/.ssh/authorized_keys` : -``` -ssh-ed25519 AAAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX root@sauvkipeu.libre-en-communs.org -``` - Si besoin, suivant les particularité de la machine à sauvegarder, ajouter des entrées dans le fichier `/etc/borgmatic/excludes`. + + ## Côté serveur de sauvegarde Initialiser le contexte Borgmatic : @@ -253,10 +276,7 @@ time borgmatic create --stats --verbosity 1 ## Tester côté serveur -Lancer une sauvegarde : -``` -time sudo /srv/borg/bin/dobackup-remote foo.bar.org -``` +~~Lancer une sauvegarde : `time sudo /srv/borg/bin/dobackup-remote foo.bar.org`.~~ Afficher les informations du dépôt : ``` @@ -273,9 +293,9 @@ Afficher le contenu de la sauvegarde : borgmatic -c /etc/borgmatic.d/foo.bar.org.yaml list --archive 2023-XX-XXTXX:XX ``` -Ajouter le lancement de la sauvegarde dans `/srv/borg/bin/dobackups` : +~~Ajouter~~ **Ne pas ajouter** le lancement de la sauvegarde dans `/srv/borg/bin/dobackups` : ``` -/srv/borg/bin/dobackup-remote foo.bar.org + /srv/borg/bin/dobackup-remote foo.bar.org ``` # Configurer la sauvegarde d'une machine en rsync