|
|
Ligne 23 : |
Ligne 23 : |
| </kode> | | </kode> |
|
| |
|
| = Backup = | | = [https://borgbackup.readthedocs.io/en/stable/usage/create.html Backup] = |
| <kode lang=bash> | | <kode lang=bash> |
| borg create --compression zlib --verbose --list --progress --stats /path/backup::NomArchive /path/dossier1 /path/dossier2 | | borg create --compression zlib --verbose --list --progress --stats /path/backup::NomArchive /path/dossier1 /path/dossier2 |
Version du 27 août 2023 à 21:06
Liens
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
|
|
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
|
# --exclude PATTERN
# read exclude patterns from EXCLUDEFILE, one per line
# --exclude-from EXCLUDEFILE
borg create /path/backup::NomArchive /path/dossier1 --exclude '*.bak' --exclude '*.old'
# regex
borg create /path/backup::NomArchive /path/dossier1 --exclude 're:^/path/[^/]+/\.bak/'
# shell-style pattern
borg create /path/backup::NomArchive /path/dossier1 --exclude 'sh:/path/*/.bak'
|
|
# 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
|
Comparaison
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 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
|
|
borg mount /path/backup::NomArchive /media/borg
fusermount -u /media/borg
|
|
python-llfuse doit être installé |
|
# 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)
|
|
borg delete /path/backup::NomArchive
# suppression du dépôt et de toutes les archives
borg delete /path/backup
|
|
# 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
|
|
# 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
|
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
|