|
|
@@ -0,0 +1,36 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+# Variables d'environnement
|
|
|
+BACKUP_DIR=${BACKUP_DIR:-"/backups"}
|
|
|
+DIRECTORIES=${DIRECTORIES:-"/source /source2"}
|
|
|
+RETENTION_DAYS=${RETENTION_DAYS:-14}
|
|
|
+
|
|
|
+# Array contenant les dossiers à sauvegarder (split des espaces)
|
|
|
+DIRECTORIES_ARRAY=($DIRECTORIES)
|
|
|
+
|
|
|
+# Création du dossier de backup s'il n'existe pas
|
|
|
+if [ ! -d "$BACKUP_DIR" ]; then
|
|
|
+ echo "ERROR: Backup directory does not exist!"
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+# Boucle pour chaque dossier dans l'array
|
|
|
+for dir in "${DIRECTORIES_ARRAY[@]}"; do
|
|
|
+ # Vérification si le dossier existe
|
|
|
+ if [ ! -d "$dir" ]; then
|
|
|
+ echo "WARNING: Source directory $dir does not exist."
|
|
|
+ continue
|
|
|
+ fi
|
|
|
+
|
|
|
+ # Création du nom de fichier de backup avec la date
|
|
|
+ base_name=$(basename "$dir")
|
|
|
+ file_name="${BACKUP_DIR}/${base_name}_$(date +%Y%m%d).tar.gz"
|
|
|
+
|
|
|
+ # Création du backup zip
|
|
|
+ tar -czf "$file_name" "$dir"
|
|
|
+ echo "INFO: Backup of '$dir' successful: $file_name"
|
|
|
+done
|
|
|
+
|
|
|
+# Suppression des backups plus vieux que ${RETENTION_DAYS} jours
|
|
|
+find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +${RETENTION_DAYS} -delete
|
|
|
+echo "INFO: Cleaning of old backups done."
|