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
borgbackup [2025/07/05 20:23] lucborgbackup [2025/07/05 20:31] (Version actuelle) luc
Ligne 72: Ligne 72:
  
 <code bash> <code bash>
-## -- delete --+## --- delete ---
 # Supprimer l'archive, mais ne libère pas l'espace disque # Supprimer l'archive, mais ne libère pas l'espace disque
 borg delete /path/to/repo::archive-name borg delete /path/to/repo::archive-name
  
-## -- compact --+ 
 +## --- compact ---
 # recupérer de l'espace disque en compactant les segments de fichiers (notamment des archives supprimées) # recupérer de l'espace disque en compactant les segments de fichiers (notamment des archives supprimées)
 borg compact /path/to/repo borg compact /path/to/repo
Ligne 82: Ligne 83:
  
 Note : on peut aussi ''prune'' le repo, pour une suppression automatique d'archives selon des critères définis #stratégieDeSauvegarde Note : on peut aussi ''prune'' le repo, pour une suppression automatique d'archives selon des critères définis #stratégieDeSauvegarde
 +<code bash>
 +## --- prune ---
 +borg prune --glob-archives 'pattern-*' --keep-daily 7 --keep-weekly 4 --keep-monthly 3 /path/to/repo/
 +# --glob-archives : permet de restreindre la purge aux archives qui match le pattern
 +</code>
 +
 +===== Exemple de script automatisé =====
 +
 +L'idée est d'automatiser le processus de backup, par exemple avec un script déclenché par un crontab
 +
 +<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 "auto" sera mis en place, et ces backups seront concernés par les prunes / purges
 +
 +# 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
 +echo "starting backup"
 +borg create --list --stats --progress ::$NAME /folder/to/backup/*
 +backup_exit=$?
 +echo "borg exit = $backup_exit"
 +
 +# prune 
 +echo "Pruning repository"
 +borg prune --list --glob-archives "auto_*" --show-rc --keep-daily 7 --keep-weekly 3 --keep-monthly 2
 +# --show-rc : afficher le code de retour en dernier dans les logs
 +# --glob-archives n'appliquer prune qu'aux archives qui match le pattern
 +prune_exit=$?
 +
 +# compacting repository
 +echo "compacting repository"
 +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 "global exit = ${global_exit}"
 +
 +exit ${global_exit}
 +</code>
  
 +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.txt · Dernière modification : de luc