Sauvegarde automatique et autonome du Synology DS107e vers un disque USB

Mon objectif est de mettre en place une sauvegarde automatique et autonome de répertoires d’un Synology DS107e vers un disque USB qui lui est connecté. Automatique et autonome veut dire que l’opération se fait toute seule (cron) et qu’elle ne nécessite aucun PC allumé (tout est dans le DS107e et le disque de sauvegarde lui est directement connecté).
De plus, je veux conserver dans un répertoire tierce les versions des fichiers modifiées ou supprimés. Je veux un fichier contenant des informations sur les dates des sauvegardes et les éventuelles erreurs survenues. Certains sous-répertoires des répertoires à sauver devront être exclus de la sauvegarde.
  1. Le disque USB connecté au DS107e est préalablement formaté en ext3. Via un telnet sur le DS107e, j’installe, en utilisant ipkg, le bash, cron et rsync :
    ipkg install bash
    ipkg install cron
    ipkg install rsync
  2. Je prépare mon script de sauvegarde :
    #!/opt/bin/bash
    echo "____________________________________ $(date +%c)"
    echo "$(date +%c) > Début de la sauvegarde de /volume1/data vers /volumeUSB1/usbshare/"
    rsync -a --delete --backup --backup-dir=/volumeUSB1/usbshare/Archive-Data/$(date +%F) --exclude='*_(NSVG)/' /volume1/data /volumeUSB1/usbshare
    echo "$(date +%c) > Fin de la sauvegarde de /volume1/data"
    echo "-----"
    echo "$(date +%c) > Début de la sauvegarde de /volume1/photo vers /volumeUSB1/usbshare/"
    rsync -a --delete --backup --backup-dir=/volumeUSB1/usbshare/Archive-Photo/$(date +%F) /volume1/photo /volumeUSB1/usbshare
    echo "$(date +%c) > Fin de la sauvegarde de /volume1/data"
    Que fait ce script :
    • Il sauve le répertoire /volume1/data, en excluant tous les sous-répertoires contenant la chaîne de caractères _(NSVG), dans le répertoire /volumeUSB1/usbshare.
    • Il archive les versions des fichiers modifiés ou supprimés de la sauvegarde ci-dessus dans le répertoire /volumeUSB1/usbshare/Archive-Data/.
    • Il sauve le répertoire /volume1/photo dans le répertoire /volumeUSB1/usbshare.
    • Il archive les versions des fichiers modifiés ou supprimés de la sauvegarde ci-dessus dans le répertoire /volumeUSB1/usbshare/Archive-Photo/.
  3. Il faut maintenant automatiser l’exécution de ce script avec cron. Par, exemple, si je veux exécuter ce script tous les jours à 23h30, il faut insérer dans la table cron la ligne :
    30 23 */1 * * /volume1/backup/Backup-Syno.sh >> /volume1/backup/log_sauvegarde.txt 2>&1
    Je suppose ici que mon script est /volume1/backup/Backup-Syno.sh et que je conserve ses sorties sur stdout et les messages d’erreurs dans /volume1/backup/log_sauvegarde.txt. L’édition de la table cron se fait avec la commande :
    crontab -e
    qui a pour effet de lancer l’éditeur Vi présentant la table actuelle.
Voila, à vous d’adapter tout cela à votre cas de figure !
Cette entrée a été publiée dans Synology. Placez un signet sur le permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *