« Borg » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
(→Liens) |
|||
Ligne 48 : | Ligne 48 : | ||
== Exclude == | == Exclude == | ||
<kode lang=bash> | <kode lang=bash> | ||
borg create /path/backup::NomArchive path/dossier1 --exclude '*.bak' --exclude '*.old' | |||
borg create /path/backup::NomArchive | # shell-style pattern. backup path/dossier1 except tmp folders at any level | ||
borg create /path/backup::NomArchive path/dossier1 --exclude 'sh:**/tmp' | |||
# regex | # regex. backup only the path/dossier1/kestrel* files | ||
borg create /path/backup::NomArchive path/dossier1 --exclude 're:path/dossier1/(?!kestrel).+' | |||
borg create /path/backup::NomArchive | |||
</kode> | </kode> | ||
Dernière version du 28 août 2023 à 22:27
Links
Description
Deduplicating backup program: only changes are stored. It supports compression and authenticated encryption.
Initialisation
# créé et initialise le dossier qui contiendra le backup borg init -e repokey /path/backup # une passphrase est demandée pour protéger la clé de chiffrement # le dossier backup est créé et il contient un dossier data, un fichier config, hints.0 et index.0 # stocker la clé chiffrée dans le dossier de backup, fichier config # -e repokey # stocker la clé chiffrée dans ~/.config/borg/keys # -e keyfile # pas de chiffrement # -e none |
Backup
borg create --compression zlib --verbose --list --progress --stats /path/backup::NomArchive /path/dossier1 /path/dossier2 # --verbose work on log level INFO (default: WARNING) # --list output verbose list of items (files, dirs, ...), you have to use INFO (or lower) log level # --progress show progress display while deleting a single archive # --stats print statistics for the created archive, you have to use INFO (or lower) log level # stay in same file system, do not cross mount points # --one-file-system # do not create a backup archive # --dry-run # utilisation de la date, du nom d’hôte et du nom d'utilisateur borg create /path/backup::{hostname}-{user}-{now:%Y-%m-%d_%H:%M:%S} /path/dossier1 # Backup a raw device (must not be active/in use/mounted at that time) dd if=/dev/sdx bs=10M | borg create /path/backup::NomArchive - |
Exclude
borg create /path/backup::NomArchive path/dossier1 --exclude '*.bak' --exclude '*.old' # shell-style pattern. backup path/dossier1 except tmp folders at any level borg create /path/backup::NomArchive path/dossier1 --exclude 'sh:**/tmp' # regex. backup only the path/dossier1/kestrel* files borg create /path/backup::NomArchive path/dossier1 --exclude 're:path/dossier1/(?!kestrel).+' |
Compression
# Super fast, low compression, default compression borg create --compression lz4 /path/backup::NomArchive /path/dossier1 # Less fast, higher compression (N = 0..9, default level 6) borg create --compression zlib,N /path/backup::NomArchive /path/dossier1 # Even slower, even higher compression (N = 0..9, default level 6) borg create --compression lzma,N /path/backup::NomArchive /path/dossier1 # Compress only compressible data borg create --compression auto,zlib,6 /path/backup::NomArchive /path/dossier1 |
Compression | Taille originale | Taille compressée | Durée | Processeur |
---|---|---|---|---|
no | 417.61 MB | 419.03 MB | 2m 2s | < 100% |
lz4 | 417.61 MB | 258.71 MB | 1m 55s | < 100% |
zlib,6 | 417.61 MB | 210.29 MB | 2m 39 | < 100% |
lzma,9 | 417.61 MB | 198.81 MB | 1h 28s | 100% |
Extract
# Extract entire archive borg extract --verbose --list /path/backup::NomArchive # Extraire seulement le dossier1 et son contenu borg extract --verbose --list /path/backup::NomArchive path/dossier1 # Restore a raw device (must not be active/in use/mounted at that time) borg extract --stdout /path/backup::NomArchive | dd of=/dev/sdx bs=10M |
extract always writes into the current working directory (”.”), so make sure you cd to the right place before calling borg extract. |
List
# lister les archives borg list /path/backup # info sur une archive borg info /path/backup::NomArchive # lister le contenu d'une archive borg list /path/backup::NomArchive |
Mount
borg mount /path/backup::NomArchive /media/borg fusermount -u /media/borg |
python-llfuse doit être installé |
Prune
# conserver une archive de chacun des 7 derniers jours # une archive de chacune des 4 dernières semaines # une archive de chacun des 12 derniers mois # supprimer toutes les autres archives borg prune --verbose --list --keep-daily=7 --keep-weekly=4 --keep-monthly=12 /path/backup # --dry-run pour tester --keep-daily=7: keep the latest backup on each day, up to 7 most recent days with backups (days without backups do not count) |
Suppression d'une archive
borg delete /path/backup::NomArchive # suppression du dépôt et de toutes les archives borg delete /path/backup |
Mot de passe
# si BORG_PASSPHRASE est renseigné, il est utilisé au lieu de demander le mot de passe read -r -s -p 'borg passphrase: ' BORG_PASSPHRASE export BORG_PASSPHRASE echo |
Enregistrer la sortie dans un fichier
# redirige stdout et stderr vers un fichier borg ... >/path/borg.log 2>&1 # pas d'affichage de la sortie à l'écran # redirige stderr vers stdout (terminal) et écrit stdout (et stderr) vers un fichier borg ... 2>&1 | tee /path/borg.log # affichage de la sortie à l'écran |
Pull backup
Erreurs
Failed to create/acquire the lock /mnt/storage/borg/lock (timeout).
Un autre processus borg utilise déjà un des éléments
ps axu | grep borg |