Ci-dessous, les différences entre deux révisions de la page.
autohebergement:sauvegardes [2020/03/21 10:24] eorn création du vrai contenu |
autohebergement:sauvegardes [2021/08/16 14:13] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ===== Sauvegardes ===== | ||
- | J'utilise BorgBackup et Borgmatic pour m'occuper de mes sauvegardes. | ||
- | |||
- | ==== Approche manuelle ==== | ||
- | Pour faire des sauvegardes manuellement, on peut utiliser ''borg''. | ||
- | |||
- | === Création d'un dépôt de sauvegarde === | ||
- | Première étape, créer un dépôt de sauvegarde, par exemple après avoir monté un disque dur externe, vierge sur ''/backup'' : | ||
- | |||
- | <code> | ||
- | borg init --encryption=none /backup | ||
- | </code> | ||
- | |||
- | On peut évidemment chiffrer comme on veut; voir la doc pour ça. | ||
- | |||
- | |||
- | === Ajout d'une sauvegarde === | ||
- | On utilise la commande ''borg create'' pour ça : | ||
- | |||
- | <code> | ||
- | [sudo] borg create --progress --stats [--rsh "ssh -p 2222" eorn@backup.goe.land:]/backup::masauvegarde-2020-03-20 /dossier/à/sauvegarder | ||
- | </code> | ||
- | |||
- | Les parties ''[entre crochets]'' sont optionnels. En l'occurrence, l'option ''--rsh'' et les informations de connexion (''eorn@backup.goe.land:'') ne sont utiles que si on veut faire une sauvegarde sur un serveur distant. | ||
- | |||
- | |||
- | === Accès à la sauvegarde === | ||
- | Infos : | ||
- | <code> | ||
- | [sudo] borg infos /backup | ||
- | </code> | ||
- | |||
- | Liste des sauvardes dans le dépôt : | ||
- | <code> | ||
- | [sudo borg list /backup | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ==== Automatiser les sauvegardes ==== | ||
- | === Fichier de configuration === | ||
- | Il existe une surcouche à ''borg'' pour l'automatisation : ''borgmatic'', qui a besoin d'un fichier de configuration dont voilà un exemple (rangé, chez moi, dans ''/srv/config/borg/config.yaml'') : | ||
- | |||
- | <file> | ||
- | location: | ||
- | source_directories: | ||
- | - /srv/apps/ | ||
- | |||
- | repositories: | ||
- | - borg@backup.goe.land:/backup | ||
- | |||
- | #exclude_patterns: | ||
- | #- "*/*/db" | ||
- | |||
- | storage: | ||
- | encryption_passcommand: "cat /srv/config/borg/passphrase" | ||
- | compression: lz4 | ||
- | ssh_command: ssh -p 2222 -i /srv/config/borg/id_rsa | ||
- | |||
- | |||
- | retention: | ||
- | # Keep all archives within this time interval. | ||
- | keep_within: 24H | ||
- | |||
- | # Number of daily archives to keep. | ||
- | keep_daily: 7 | ||
- | |||
- | # Number of weekly archives to keep. | ||
- | keep_weekly: 4 | ||
- | |||
- | # Number of monthly archives to keep. | ||
- | keep_monthly: 6 | ||
- | |||
- | consistency: | ||
- | checks: | ||
- | - disabled | ||
- | # - repository | ||
- | # - archives | ||
- | </file> | ||
- | |||
- | |||
- | Pour que cela fonctionne, j'ai créé un utilisateur ''borg'' sur ma machine de backup. Les informations pour la connexion ''ssh'' sont importantes, notamment la clé de connexion (''id_rsa''). | ||
- | |||
- | === Commandes === | ||
- | Pour avoir les info et liste des sauvegardes : | ||
- | <code> | ||
- | [sudo] borgmatic info -c /srv/config/borg/config.yaml | ||
- | [sudo] borgmatic list -c /srv/config/borg/config.yaml | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | === Correctement sauvegarder des bases de données === | ||
- | Il faut pour cela utiliser les ''hooks'' dans le fichier de configuration. | ||
- | |||
- | |||
- | === Tester les sauvegardes ! === | ||
- | |||
- | |||