InvenTree : Sauvegarde Docker simple avec restic
backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export RESTIC_REPOSITORY=rest:http://restic:[email protected]:16383/$NAME
export RESTIC_PASSWORD_FILE=.restic_password
if [ ! -f "${RESTIC_PASSWORD_FILE}" ]; then
echo "Veuillez créer .restic_password avec le mot de passe de chiffrement de la sauvegarde ET SAUVEGARDEZ CE MOT DE PASSE SÉPARÉMENT !!!"
exit 1
fi
echo "Initialisation du dépôt, veuillez ignorer les erreurs 'already exists'"
if [ ! -f ".restic_inited" ]; then
# Exécuter la commande d'initialisation restic
restic init
if [ $? -eq 0 ]; then # si l'initialisation réussit
# Créer le fichier d'initialisation
touch ".restic_inited"
echo "Restic initialisé"
fi
fi
# Exécuter la sauvegarde PostgreSQL en mode streaming
source .env
docker-compose exec -T inventree-db pg_dump -U${INVENTREE_DB_USER} ${INVENTREE_DB_NAME} | restic --verbose backup --stdin --stdin-filename="inventree-pgdump.sql"
# Sauvegarder les répertoires et fichiers
echo "Sauvegarde avec restic..."
restic --verbose backup \
inventree_data \
backup.sh \
docker-compose.yml \
--exclude "**/__pycache__" \
--exclude "inventree_data/static" \
--exclude "inventree_data/pgdb" \
--exclude "inventree_data/backup"
# OPTIONNEL : Oublier les anciennes sauvegardes et nettoyer
# Ajustez ces politiques de rétention selon vos besoins :
# --keep-daily 31 # conserver 31 instantanés quotidiens
# --keep-weekly 52 # conserver 52 instantanés hebdomadaires
# --keep-monthly 24 # conserver 24 instantanés mensuels
# --keep-yearly 10 # conserver 10 instantanés annuels
restic forget --keep-hourly 168 --keep-daily 31 --keep-weekly 52 --keep-monthly 24 --keep-yearly 10 --prune
echo "Sauvegarde terminée !"Check out similar posts by category:
InvenTree
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow