InvenTree : Script de sauvegarde basé sur bup

Note : J’ai remplacé la sauvegarde basée sur bup par restic.

Installez en utilisant Comment créer un timer & service de sauvegarde systemd en 10 secondes

Placez ce fichier dans le même répertoire que votre fichier docker-compose.yml, et rendez-le exécutable.

backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export BUP_DIR=/var/bup/$NAME.bup
export REMOTE_BUP_DIR=/bup-backups/$NAME.bup
export REMOTE_SERVER=10.1.2.3
export BUP_REMOTE=$REMOTE_SERVER:$REMOTE_BUP_DIR

# Créer les archives de sauvegarde
docker-compose run inventree-server invoke backup

bup_directory() {
        echo "BUPing $1"
        bup -d $BUP_DIR index $1 && bup -d $BUP_DIR save -r $BUP_REMOTE -9 --strip-path $(pwd) -n $1 $1
}
# Init
#bup -d $BUP_DIR init -r $BUP_REMOTE
# Sauvegarder PostgreSQL
#docker-compose exec -u gitlab-psql gitlab pg_dump -h /var/opt/gitlab/postgresql/ -d gitlabhq_production | bup -d $BUP_DIR split -r $BUP_REMOTE -n $NAME-pgdump.sql
# Sauvegarder les répertoires
bup_directory config
bup_directory data
# Sauvegarder le script lui-même
bup_directory backup.sh
bup_directory docker-compose.yml
# OPTIONNEL : Ajouter des informations par2
#   Ceci n'est recommandé que pour la sauvegarde sur un stockage non fiable ou pour des sauvegardes extrêmement critiques
#   Si vous disposez déjà d'une protection contre la pourriture de bits (comme BTRFS avec scrubbing régulier), cela peut être excessif.
# Décommentez cette ligne pour activer :
# bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR fsck -g

# OPTIONNEL : Nettoyer les anciennes sauvegardes
bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR prune-older --keep-all-for 1m --keep-dailies-for 6m --keep-monthlies-for forever -9 --unsafe

Check out similar posts by category: Backup