#!/bin/bash # Répertoire source à sauvegarder source_directory="/chemin/vers/le/repertoire/source" # Répertoire de destination pour les backups backup_directory="/chemin/vers/le/repertoire/de/backups" # Répertoire de destination pour les backups mensuels monthly_directory="/chemin/vers/le/repertoire/de/backups/mensuels" # Supprimer les backups antérieurs à 10 jours find "$backup_directory" -type f -mtime +10 -exec rm {} \; # Créer un répertoire pour la sauvegarde actuelle (nom basé sur la date et l'heure) backup_folder="$(date +%Y%m%d%H%M%S)" mkdir "$backup_directory/$backup_folder" # Copier les fichiers du répertoire source vers la sauvegarde actuelle cp -R "$source_directory" "$backup_directory/$backup_folder" # Compresser la sauvegarde tar -czf "$backup_directory/$backup_folder.tar.gz" "$backup_directory/$backup_folder" # Supprimer le répertoire non compressé rm -rf "$backup_directory/$backup_folder" # copie vers un serveur distant rsync -e "ssh -i /home/villersd/.ssh/id_rsa" "$backup_directory/$backup_folder.tar.gz" villersd@linus.umons.ac.be:/home/villersd/backup_sdds # Déplacer la sauvegarde mensuelle du premier jour du mois vers le répertoire mensuel if [ "$(date +%d)" = "01" ]; then monthly_folder="$(date +%Y%m)" mkdir -p "$monthly_directory/$monthly_folder" mv "$backup_directory/$backup_folder.tar.gz" "$monthly_directory/$monthly_folder" fi