borgbackup
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| borgbackup [2025/07/05 20:07] – luc | borgbackup [2025/09/12 12:12] (Version actuelle) – luc | ||
|---|---|---|---|
| Ligne 31: | Ligne 31: | ||
| borg create / | borg create / | ||
| # ici l' | # ici l' | ||
| + | |||
| + | # options utiles : | ||
| + | # --list : afficher la liste des fichiers sauvegardés | ||
| + | # --show-rc : afficher le code de retour en dernier dans les logs, permet de récupérer via une variable bash ex: BACKUP=$? | ||
| + | # --glob-archives : n' | ||
| + | # --stats : affiche les stats de l' | ||
| + | # --progress : affiche la progression de l' | ||
| </ | </ | ||
| Note : si le repo n'est pas initialisé, | Note : si le repo n'est pas initialisé, | ||
| Ligne 37: | Ligne 44: | ||
| === Consulter le repo / une archive === | === Consulter le repo / une archive === | ||
| - | '' | + | 2 outils existent : '' |
| <code bash> | <code bash> | ||
| Ligne 58: | Ligne 65: | ||
| + | === 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 ! | ||
| + | |||
| + | Exemple de script de sauvegarde automatisée avec monitoring (via un service comme healthchecks) : | ||
| + | <code bash> | ||
| + | #!/bin/sh | ||
| + | # Ce script a pour vocation la sauvegarde d'un dossier en particulier dans un dossier SMB mount. | ||
| + | # Le préfix " | ||
| + | |||
| + | ## Monitoring | ||
| + | wget -O - https:// | ||
| + | OUTPUT_STATUS=0 | ||
| + | |||
| + | # Variable d' | ||
| + | export BORG_REPO=/ | ||
| + | export BORG_PASSPHRASE=aAbBcCdDeE1234 | ||
| + | |||
| + | # nom de la sauvegarde : manual + date du jour | ||
| + | NAME=" | ||
| + | |||
| + | # Create the backup | ||
| + | borg create --list --stats --progress ::$NAME / | ||
| + | OUTPUT_STATUS=$(($OUTPUT_STATUS + $?)) # MONITORING | ||
| + | |||
| + | # prune | ||
| + | echo " | ||
| + | borg prune --list --glob-archives " | ||
| + | # --list : afficher la liste des fichiers sauvegardés | ||
| + | # --show-rc : afficher le code de retour en dernier dans les logs | ||
| + | # --glob-archives n' | ||
| + | OUTPUT_STATUS=$(($OUTPUT_STATUS + $?)) # MONITORING | ||
| + | |||
| + | # compacting repository | ||
| + | borg compact | ||
| + | OUTPUT_STATUS=$(($OUTPUT_STATUS + $?)) # MONITORING | ||
| + | |||
| + | # Monitoring - informer le serveur | ||
| + | wget -O - https:// | ||
| + | </ | ||
borgbackup.1751746053.txt.gz · Dernière modification : de luc
