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