Sauvegarde d'un NAS mxxx sur un NAS2 bxxx via rsync et ssh

Les tutoriaux rédigés par les membres
Répondre
Avatar du membre
gdonlyon
Messages : 24
Enregistré le : 30 mai 2016

Sauvegarde d'un NAS mxxx sur un NAS2 bxxx via rsync et ssh

Message par gdonlyon » 04 juil. 2016 13:06

Bonjour,

Voici un petit tuto pour gérer à la demande une sauvegarde via un rsync par ssh root. Il s'agit d'un backup unidirectionel. Ceci garantit que si on efface un fichier du NAS mxxx, le fichier est conservé sur le NAS bxxx.

Le principe consiste à lancer à minuit tous les jours la sauvegarde des 4 dossiers partagés du NAS mxxx.synology.me

/volume1/homes
/volume1/music
/volume1/photo
/volume1/video

sur le NAS bxxx.synology.me sous

/volume1/Netbackup/mxxx/homes
/volume1/Netbackup/mxxx/music
/volume1/Netbackup/mxxx/photo
/volume1/Netbackup/mxxx/video

Pour cela on va utiliser la commande rsync a travers un ssh root.

1) Autoriser le ssh pour root au moyen de clef publique/privé (le ssh root est désactivé depuis le DSM6)

1.a Se connecter par ssh (putty ou mobaxterm) avec un compte administrateur puis

Code : Tout sélectionner

sudo -i 
(retaper le mot de passe)

1.b Installer les key pour faire du ssh en tant que root

Code : Tout sélectionner

ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub root@bxxx.synology.me:/var/tmp
cat /var/tmp/id_rsa.pub >>~/.ssh/authorized_keys
chmod 700 ~/.ssh/authorized_keys
'dans /etc/ssh/sshd_config mettre PermitRootLogin Yes(à la place de no)

===============================================================================================

2) Automatiser le lancement su script rsync_mxxx . Ajouter la ligne suivante dans le fichier /etc/crontab

0 0 * * * root /volume1/homes/admin/rsync_mxxx


3) Relancer le crond pour prendre en compte le nouveau fichier crontab

Code : Tout sélectionner

/usr/syno/sbin/synoservicectl --restart crond
4) Mettre en place le mail en cas de souci de sauvegarde
# modification pour notification par mail
===============================================================================================

1) mettre le langage des notifications dans le synology source a French

2) dans fichier : /usr/syno/synoman/webman/texts/fre/mails ajouter:

[save_rsync]
Category: System,Important
Title: Probleme sauvegarde mxxx
Subject: Probleme sauvegarde sur bxxx.synology.me


3) dans fichier : /usr/syno/synoman/webman/texts/fre/notification_category
ajouter ,{"group":"System","name":"save_rsync","title":"Problème avec sauvegarde mxxx"},

===============================================================================================

5) Créer le fichier rsync_mxxx (il commence a !#bin/ash) dans le dossier /volume1/homes/admin/. On utilise un lock_file au cas ou la sauvegarde serait trop longue...et en cas de soucis autre on est prévenu par notification et par mail.


Code : Tout sélectionner

#!/bin/sh

### music
if test -s /logs/lock_music
  then echo ""
  else
        touch /logs/lock_music
        date >> /logs/save_music
        rsync -azv  /volume1/music/ -e "ssh -p 22 -i /root/.ssh/id_dsa" root@bxxx.synology.me:/volume1/NetBackup/mxxx/music/ >>/logs/save_music 2>/logs/ERROR_music.log
        date >> /logs/save_music
        rm /logs/lock_music
        if test -s /logs/ERROR_music.log
         then synonotify save_rsync
         else
          rm /logs/ERROR_music.log
        fi
fi

### PHOTO
if test -s /logs/lock_photo
    then echo ""
    else
        touch /logs/lock_photo
        date >>/logs/save_photo
        rsync -azv  /volume1/photo/ -e "ssh -p 22 -i /root/.ssh/id_dsa" root@bxxx.synology.me:/volume1/NetBackup/mxxx/photo/ >>/logs/save_photo 2>/logs/ERROR_photo.log
        date >> /logs/save_photo
        rm /logs/lock_photo
        if test -s /logs/ERROR_photo.log
          then synonotify save_rsync
          else
           rm /logs/ERROR_photo.log
        fi
fi
### HOMES
if test -s /logs/lock_homes
    then echo""
    else
        touch /logs/lock_homes
        date >>/logs/save_homes
        rsync -azv  /volume1/homes/ -e "ssh -p 22 -i /root/.ssh/id_dsa" root@bxxx.synology.me:/volume1/NetBackup/mxxx/homes/ >>/logs/save_homes 2>/logs/ERROR_homes.log
        date >> /logs/save_homes
        rm /logs/lock_homes
        if test -s /logs/ERROR_homes.log
          then  synonotify save_rsync
          else rm /logs/ERROR_homes.log
        fi
fi

### VIDEO
if test -s /logs/lock_video
     then echo ""
     else
        touch /logs/lock_video
        date >> /logs/save_video
        rsync -azv  /volume1/video/ -e "ssh -p 22 -i /root/.ssh/id_dsa" root@bxxx.synology.me:/volume1/NetBackup/mxxx/video/ >>/logs/save_video 2>/logs/ERROR_video.log
        date >> /logs/save_video
        rm /logs/lock_video
        if test -s /logs/ERROR_video.log
            then synonotify save_rsync
            else rm /logs/ERROR_video.log
        fi
fi
Nas: DS214 (2 WD red 4To SHR) + DS214SE (2 WD 3To)

Avatar du membre
FX Cachem
Site Admin
Messages : 9066
Enregistré le : 08 décembre 2013
Professionnel : Non
Localisation : Paris
Contact :

Re: Sauvegarde d'un NAS mxxx sur un NAS2 bxxx via rsync et ssh

Message par FX Cachem » 04 juil. 2016 13:24

Merci gdonlyon pour cet excellent partage !!!
Blogueur sur Cachem et administrateur du Forum des NAS
NAS : Synology DS412+ | QNAP TS-470 Pro | ASUSTOR AS-302T

Répondre

Retourner vers « Tutoriaux »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité