Synology : une sauvegarde incrémentale à l'aide de Rsync

Introduction:

Voici le script qui effectue des sauvegardes incrémentales de mon répertoire WEB chaque nuit. Ce script utilise Rsync présent sur le Syno. Il recopie les données de volume1/web vers volume2/miroir/web à l'identique.
Les fichiers modifiés ou supprimés dans la journée, se retrouvent quant à eux déposés dans un dossier portant la date du jour, ce qui permet de récupérer très rapidement les données. Par exemple le dossier 2007-12-25 comprendra les fichiers de ce jour, uniquement de celui-ci, le dossier Miroir Web quant à lui sera l'image de la source au moment "t". C'est une réelle sauvegarde incrémentale.




Le script :


#!/bin/sh

 # Script de sauvegarde incrementale pour Synology
 
 # Variable representant le jour de la sauvegarde
 JOUR=`date +%Y-%m-%d`

 # Variable comportant le chemin du fichier journal
 LOG=/volume2/miroir/scripts/log

 # Variables des noms et chemins pour les sauvegardes
 NOM1="##### SAUVEGARDE WEB"
 SOURCE1=/volume1/web
 DEST1=/volume2/miroir/web
 BACKUP1=/volume2/miroir/scripts/sauv-jour/web

 # Fin de mise en place des variables
 # ----------------------------------------------------------------
 # ----------------------------------------------------------------

 # backup1
 # On cree le repertoire du jour et un fichier journal.log qui nous donnera
 # les heures de debut et de fin du transfert
 if [ -d "$BACKUP1/$JOUR" ]
 then
   echo "Le repertoire $BACKUP1/${JOUR} existe deja !";
 else
   mkdir $BACKUP1/$JOUR;
 fi
  touch $LOG/journal.log
 echo "---------------------------------" >> $LOG/journal.log
 # On ecrit l heure de debut dans le journal
 echo "Heure de demarrage du transfert:" >> $LOG/journal.log
 date >> $LOG/journal.log
 echo "---------------------------------" >> $LOG/journal.log
  # On ecrit le nom de la sauvegarde dans le journal
 echo "Nom de la sauvegarde:"        $NOM1 >> $LOG/journal.log
 echo "---------------------------------" >> $LOG/journal.log
 # On lance le script rsync de transfert des fichiers
 rsync --delete --backup --backup-dir=$BACKUP1/$JOUR -arv $SOURCE1/ $DEST1

 echo "sauvegarde" $NOM1 "ok"         >> $LOG/journal.log
 echo "---------------------------------" >> $LOG/journal.log
 # On ecrit l'heure de fin dans le journal
 echo "Heure de fin du transfert:" >> $LOG/journal.log
 date >> $LOG/journal.log
 echo "---------------------------------" >> $LOG/journal.log
 echo "---------------------------------" >> $LOG/journal.log

exit
 # ----------------------------------------------------------------
 # ----------------------------------------------------------------

Vous pouvez utiliser ce srcipt. Ce batch fonctionne parfaitement bien, déclenchement via crontab toutes les nuits.

Pour toutes questions concernent ce srcipt, vous pouvez m'envoyer un email