borgbackup
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
borgbackup [2025/07/05 18:30] – luc | borgbackup [2025/07/05 20:31] (Version actuelle) – luc | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
===== Gérer un repo borg ===== | ===== Gérer un repo borg ===== | ||
+ | === Création/ | ||
ça commence par la création du __repository__ : | ça commence par la création du __repository__ : | ||
<code bash> | <code bash> | ||
+ | borg init --encryption=repokey / | ||
+ | </ | ||
+ | NOTES : | ||
+ | * Un __repository__ nécessite une méthode de chiffrement, | ||
+ | * L' | ||
+ | Pour plus de facilité, notamment dans un script automatisé, | ||
+ | <code bash> | ||
+ | BORG_REPO=/ | ||
+ | BORG_PASSPHRASE=' | ||
</ | </ | ||
+ | |||
+ | === Créer une archive === | ||
+ | |||
+ | Maintenant que le __repository__ existe, on peut ajouter des données dedans. Lors d'un ajout, toutes les données sont contenues dans une __archive__, | ||
+ | <code bash> | ||
+ | borg create / | ||
+ | # ici l' | ||
+ | </ | ||
+ | Note : si le repo n'est pas initialisé, | ||
+ | |||
+ | |||
+ | === Consulter le repo / une archive === | ||
+ | |||
+ | 2 outils existent : '' | ||
+ | |||
+ | <code bash> | ||
+ | ## --- info --- | ||
+ | # sur un repo : donne la taille du repo (dedupliquée = sur le disque, originelle si extrait) | ||
+ | borg info / | ||
+ | |||
+ | # sur une archive : donne la taille de l' | ||
+ | borg info / | ||
+ | |||
+ | |||
+ | ## --- list --- | ||
+ | # sur un repo : donne la liste des archives qui compose le repo, avec la date de création des archives | ||
+ | borg list / | ||
+ | |||
+ | # sur une archive : donne la liste des fichiers et dossiers contenus dans l' | ||
+ | borg list / | ||
+ | </ | ||
+ | Note: le path des fichiers et dossier est conservé, hein ;) | ||
+ | |||
+ | |||
+ | === Extraire des données === | ||
+ | |||
+ | <code bash> | ||
+ | # extraire les données d'une archiveavec des chemins relatifs au dossier actuel | ||
+ | cd / | ||
+ | borg extract / | ||
+ | |||
+ | # extraire seulement quelques fichiers | ||
+ | # ? | ||
+ | </ | ||
+ | |||
+ | === Supprimer une archive === | ||
+ | |||
+ | <code bash> | ||
+ | ## --- delete --- | ||
+ | # Supprimer l' | ||
+ | borg delete / | ||
+ | |||
+ | |||
+ | ## --- compact --- | ||
+ | # recupérer de l' | ||
+ | borg compact / | ||
+ | </ | ||
+ | |||
+ | Note : on peut aussi '' | ||
+ | <code bash> | ||
+ | ## --- prune --- | ||
+ | borg prune --glob-archives ' | ||
+ | # --glob-archives : permet de restreindre la purge aux archives qui match le pattern | ||
+ | </ | ||
+ | |||
+ | ===== Exemple de script automatisé ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | <code bash> | ||
+ | ### backup_auto.sh | ||
+ | |||
+ | #!/bin/sh | ||
+ | # Ce script a pour vocation la sauvegarde d'un dossier en particulier dans un dossier SMB mount. | ||
+ | # Le préfix " | ||
+ | |||
+ | # Variable d' | ||
+ | export BORG_REPO=/ | ||
+ | export BORG_PASSPHRASE=aAbBcCdDeE1234 | ||
+ | |||
+ | # nom de la sauvegarde : manual + date du jour | ||
+ | NAME=" | ||
+ | |||
+ | # Create the backup | ||
+ | echo " | ||
+ | borg create --list --stats --progress ::$NAME / | ||
+ | backup_exit=$? | ||
+ | echo "borg exit = $backup_exit" | ||
+ | |||
+ | # prune | ||
+ | echo " | ||
+ | borg prune --list --glob-archives " | ||
+ | # --show-rc : afficher le code de retour en dernier dans les logs | ||
+ | # --glob-archives n' | ||
+ | prune_exit=$? | ||
+ | |||
+ | # compacting repository | ||
+ | echo " | ||
+ | borg compact | ||
+ | compact_exit=$? | ||
+ | |||
+ | # use highest exit code as global exit code | ||
+ | global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit )) | ||
+ | global_exit=$(( compact_exit > global_exit ? compact_exit : global_exit )) | ||
+ | echo " | ||
+ | |||
+ | exit ${global_exit} | ||
+ | </ | ||
+ | |||
+ | Il conviendrait de récupérer les info (echo) et les mettre dans un système de log, et de faire du reporting. Pour une prochaine fois ! |
borgbackup.1751740229.txt.gz · Dernière modification : de luc