Outils pour utilisateurs

Outils du site


borgbackup

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
borgbackup [2025/07/05 20:31] lucborgbackup [2025/09/12 12:12] (Version actuelle) luc
Ligne 31: Ligne 31:
 borg create /path/to/repo::Monday ~/src ~/Documents borg create /path/to/repo::Monday ~/src ~/Documents
 # ici l'archive s'appelle Monday # ici l'archive s'appelle Monday
 +
 +# 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'appliquer prune qu'aux archives qui match le pattern
 +# --stats : affiche les stats de l'archive créée (et c'est vraiment bien)
 +# --progress : affiche la progression de l'opération
 </code> </code>
 Note : si le repo n'est pas initialisé, on aura une erreur. Pratique si on a un mount qui peut ne pas marcher : aucun risque de mettre des données n'importe où Note : si le repo n'est pas initialisé, on aura une erreur. Pratique si on a un mount qui peut ne pas marcher : aucun risque de mettre des données n'importe où
Ligne 134: Ligne 141:
  
 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 ! 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 "auto" sera mis en place, et ces backups seront concernés par les prunes / purges
 +
 +## Monitoring
 +wget -O - https://healthchecks.example.com/ping/<uuid>/start
 +OUTPUT_STATUS=0
 +
 +# Variable d'environnement pour accéder au repo
 +export BORG_REPO=/path/to/repo/
 +export BORG_PASSPHRASE=aAbBcCdDeE1234
 + 
 +# nom de la sauvegarde : manual + date du jour
 +NAME="auto_$(date +%Y-%m-%d%.H-%M)"
 + 
 +# Create the backup
 +borg create --list --stats --progress ::$NAME /folder/to/backup/*
 +OUTPUT_STATUS=$(($OUTPUT_STATUS + $?))  # MONITORING
 + 
 +# prune 
 +echo "Pruning repository"
 +borg prune --list --glob-archives "auto_*" --show-rc --keep-daily 7 --keep-weekly 3 --keep-monthly 2
 +# --list : afficher la liste des fichiers sauvegardés
 +# --show-rc : afficher le code de retour en dernier dans les logs
 +# --glob-archives n'appliquer prune qu'aux archives qui match le pattern
 +OUTPUT_STATUS=$(($OUTPUT_STATUS + $?))  # MONITORING
 + 
 +# compacting repository
 +borg compact
 +OUTPUT_STATUS=$(($OUTPUT_STATUS + $?))  # MONITORING
 + 
 +# Monitoring - informer le serveur 
 +wget -O - https://healthchecks.example.com/ping/<uuid>/$OUTPUT_STATUS
 +</code>
borgbackup.1751747468.txt.gz · Dernière modification : de luc