1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| #!/bin/bash
#
# Ce script permet de faire une sauvegarde incrémentale manuelle avec "rsync"
#
# Variables de couleurs
VERT="\\033[1;32m"
STNDT="\\033[0;39m"
ROUGE="\\033[1;31m"
ROSE="\\033[1;35m"
BLEU="\\033[1;34m"
BLANC="\\033[0;02m"
BLANCLAIR="\\033[1;08m"
JAUNE="\\033[1;33m"
CYAN="\\033[1;36m"
Date=$(date +%d-%m-%Y)
Heure=$(date +%T)
echo -e $BLEU "Exécuter la sauvegarde SovTotale-1 ? [o/N]"; # Pour plus de lisibilité, la réponse par défaut est donnée en majuscule à la suite de la question.
read -sn1; # Pas la peine d'entrer plus d'un caractère ni d'appuyer sur la touche entrée.
if [[ $REPLY =~ [yYoO] ]] || # La variable REPLY est automatiquement créée par la fonction read du bash (builtins)
{ echo -e $ROUGE "==============================================\n Abandon sauvegarde à : $Heure le $Date\n ==============================================";
echo -e $STNDT "Sortie Sauvegarde SovTotale-1"; exit; }
#
then
echo -e $VERT "===============================================\n Lancement sauvegarde SovTotale-1 à : $Heure le $Date\n ==============================================="
# pour donner un nom "raccourci" (incluant le chemin) au fichier backuperror.log :
backup=/home/user/bin/Sauvegardes/backuperrorSovTotale-1-a.log
# à noter l'usage des ">" :
# Un seul ">" renvoie le contenu du terminal dans le fichier indiqué
# en écrasant tout ce que contient déjà ce fichier.
# ">>" renvoie le contenu du terminal sans écraser ce que contient déjà le fichier.
# Le chiffre "2" suivi d'un seul ">" renvoie seulement les messages d'erreurs
# générés par le processus dans le fichier indiqué en écrasant le contenu de ce fichier.
# "2>>" renvoie les erreurs sans écraser le contenu du fichier.
#SSD32Go
echo -e $ROUGE "============================================\n Synchronisation en cours sur SSD32Go\n ============================================"
rsync --archive --partial --progress --delete-during --stats /home/user/.thunderbird /media/user/SSD32Go/ 2>> $backup
#DD1To
echo -e $ROSE "============================================\n Synchronisation en cours sur DD1To\n ============================================"
rsync --archive --partial --progress --delete-during --stats /home /media/user/Sauv1To-a/SauvDdPrincipal1/ 2>> $backup
#SSHD500-1
echo -e $VERT "==============================================\n Synchronisation en cours sur SSHD500-1\n =============================================="
rsync --archive --partial --progress --delete-during --stats --exclude="/media" --exclude="/proc" --exclude="/sys" / /media/user/SSHD500-1/ 2>> $backup
# Vérification des liens = faite
# Insertion de la date à la fin de la liste d'erreur si le fichier backuperror
# n'est pas vide (c'est à dire s'il y a des erreurs), ce que vérifie l'option "-s" :
if [ -s $backup ]; then
{
date >> $backup
}
fi
# Mise à jour de l'heure
Heure=$(date +%T)
echo -e $VERT "===============================================\n Sauvegarde SovTotale-1 terminée à : $Heure le $Date\n ==============================================="
else
echo -e $ROUGE "==============================================\n Procédure Sauvegarde SovTotale-1 interrompue par l'utilisateur à : $Heure le $Date\n =============================================="
fi
echo -e $STNDT
# ---- fin du script ---- |
Partager