backups pi5

maj des backups + discord notification
This commit is contained in:
griffix 2025-09-23 19:52:45 +02:00
parent da3386bffa
commit 58ed343aa7
Signed by: griffix
GPG key ID: 9A72D1FAE36EC98A
2 changed files with 162 additions and 0 deletions

47
infra_conf/tarbackup.sh Normal file
View file

@ -0,0 +1,47 @@
#!/usr/bin/env bash
# ------------------------------------------------------------
# Usage : ./archiver_et_nettoie.sh <répertoire_source>
# ------------------------------------------------------------
# ---------- 1⃣ Vérifications initiales ----------
if [[ -z "$1" ]]; then
echo "Usage : $0 <répertoire_source>"
exit 1
fi
SRC_DIR="$1"
if [[ ! -d "$SRC_DIR" ]]; then
echo "Erreur : '$SRC_DIR' nest pas un répertoire valide."
exit 1
fi
# ---------- 2⃣ Dossier de destination ----------
OUT_DIR="/media/Seagate/archives" # crée un sousdossier « archives » à côté du répertoire source
mkdir -p "$OUT_DIR" # le créer sil nexiste pas encore
# ---------- 3⃣ Création des archives ----------
cd "$SRC_DIR" || exit 1
for dir in */ ; do
[[ -d "$dir" ]] || continue # ignorer les fichiers éventuels
name="${dir%/}" # nom du sousdossier sans le slash final
timestamp=$(date +"%Y%m%d_%H%M%S") # horodatage au format souhaité
archive_name="${name}_${timestamp}.tar.gz"
# Crée l'archive dans le répertoire de sortie
tar -czf "${OUT_DIR}/${archive_name}" "$name"
echo "✅ Archive créée : ${OUT_DIR}/${archive_name}"
done
# ---------- 4⃣ Nettoyage des archives >30jours ----------
# find <dossier> -type f -name "*.tar.gz" -mtime +30 -delete
# -mtime +30 → fichier modifié il y a plus de 30jours
# -delete → suppression sécurisée
echo "🧹 Suppression des archives de plus de 30jours…"
find "$OUT_DIR" -type f -name "*.tar.gz" -mtime +30 -print -delete
echo "✅ Nettoyage terminé."