Tutoriel DNS dynamique sous Linux

[INSTALL] Script rsync et tache cron

Mise en place d'une sauvegarde avec un script faisant du rsync exécuté par une tâche cron.


1. Définition de RSYNC


Rsync (remote synchronization ou synchronisation à distance), est un logiciel de synchronisation de fichiers. Il est fréquemment utilisé pour mettre en place des systèmes de sauvegarde distante.

Rsync travaille de manière unidirectionnelle c'est-à-dire qu'il synchronise, copie ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés.

Dans notre cas, il va copier la première fois toutes les données et ensuite copier juste les fichiers modifiés ou ajouté dans les répertoire sauvegardés.
Cette sauvegarde passe par le protocole SSH.

Fonctionne sur Linux, Windows et Mac OS X.

2. Mise en place du script (fait sur linux)


Lien de téléchargement du script: Script.sh

Copier le script sur votre pc et render-le exécutable
chmod +x script.sh

Éditer le script puis modifier les variables suivantes selon vos besoins :
log="<chemin>" -> chemin vers lequel va être le fichier de log du script
nom="sauvegarde du jour" -> nom de la sauvegarde
fsauvegarde="répertoire1 répertoire2"  -> chemin des répertoires à sauvegarder séparé par un espace
ip="ip du serveur de backup" -> adresse ip du serveur sur lequel va être sauvegarder les données
user="utilisateur" -> utilisateur qui se connecte en ssh sur le serveur de backup
chemin="répertoire backup" -> répertoire dans lequel va se sauvegarder les données sur le serveur de sauvegarde

Pour ne pas avoir de mot de passe à taper lors de chaque sauvegarde sur le serveur de backup, il faut générer une clé SSH sur le client :
root@debian7:~# ssh-keygen -t dsa -b 1024
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
12:cf:a2:4b:59:a9:b3:40:69:ae:fe:82:36:77:96:be root@debian7
The key's randomart image is:
+--[ DSA 1024]----+
|                 |
|                 |
|      .          |
|   .   =         |
|  +   = S        |
| +   = o         |
|. o * .          |
|.= + B           |
|+.=.*E.          |
+-----------------+

Envoyer la clé générée sur le client au serveur de backup :
root@debian7:~#ssh-copy-id -i /root/.ssh/id_dsa.pub root@<ip du serveur de backup>

Lancer le script à la main en faisant comme ci-dessous pour vérifier s'il fonctionne :
./script.sh

Résultat de la commande :
sending incremental file list
Number of files: 4
Number of files transferred: 0
Total file size: 0 bytes
Total transferred file size: 0 bytes
Literal data: 0 bytes
Matched data: 0 bytes
File list size: 61
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 70
Total bytes received: 12

3. Automatisation du script dans une tache cron



Créér un fichier dans /etc/cron.d/sauvegarde et éditer-le en insérant la ligne ci dessous :
0 23 * * 1-7                 /root/script.sh

La tache cron est créée, elle exécutera le script de sauvegarde tous les jours à 23h.

0 commentaires :

Enregistrer un commentaire