l'informatique, c'est magique!
Centraliser ces sauvegardes avec rsync
Cette article va vous expliquer comment centraliser vos sauvegardes sur un seul serveur et cela en automatisant toutes les taches en utilisant rsync.
Rsync est un petit programme qui vous permettra de faire des sauvegardes de types incrémentale,
c’est-à-dire qu’il sauvegardera juste les fichiers qui ont été modifié depuis la dernière sauvegarde.
Tout d’abord,
nous allons créer un répertoire où nous allons mettre toutes nos sauvegardes. Pour le tuto, je vais créer un dossier bdd et un dossier www.
mkdir /var/backup
mkdir /var/backup/bdd
mkdir /var/backup/www
Pour lancer la sauvegarde, il vous faudra taper la commande suivante:
rsync -rave ssh root@www.remiheens.fr:/var/www/html /var/backup/www
la commande va alors se logguer avec l’utilisateur root sur www.remiheens.fr et copiera l’intégralité des données de /var/www/html vers /var/backup/html ( le dossier local ).
Pour éviter la demande du mot de passe qui bloquera l’automatisation de la sauvegarde.
Il vous faut installer une clé publique sur le serveur distant celle-ci permettra la connection ssh direct avec le login.
Tout d’abord générer une clef RSA de 2048bits sur le serveur de sauvegarde:
ssh-keygen -t rsa -b 2048
Lors de la création deux question vous seront posées, veuillez à ne pas modifier le chemin d’accès ( ~/.ssh/id_rsa), et ne pas rentrez de passphrase.
Ceci est moins sécurisé mais au moins le mot de passe ne sera pas demander à chaque fois.
Ensuite copiez la clef sur le serveur distant.
ssh-copy-id -i ~/.ssh/id_rsa.pub root@mon-serveur-de-sauvegarde.com
Vous devriez donc pouvoir vous connecter du serveur de sauvegarde directement sur le serveur distant sans demande de mot de passe.
ssh root@www.remiheens.fr
Maintenant tout nos commandes sont fin prêtes, il nous suffit maintenant de créer un fichier sh qui sera appellé par le cron du serveur à intervalle régulier.
Voici le fichier sauvegarde.sh à enregistrer dans le répertoire personnel de root.
rsync -rave ssh root@www.remiheens.fr:/var/www/html /var/backup/www
rsync -rave ssh root@bdd.remiheens.fr:/var/lib/mysql /var/backup/bdd
Cette exemple sauvegarde les fichiers web et les fichiers de la base de données.
Voilà un exemple de ligne à ajouter au crontab gràce à crontab -l
* 1 * * * sh /root/sauvegarde.sh
Pour exclure certains fichiers, il vous suffira d’ajouter l’option –exclude=PATTERN . Par exemple, pour sauvegarder mon dossier www, sans les images:
rsync –exclude=*.jpg -rave ssh root@www.remiheens.fr:/var/www/html /var/backup/www
Vous voila maintenant prêt pour sauvegarder toutes vos données et trés rapidement.
Merci à tux-planet pour son tuto sur les échanges de clefs publiques.
| | This entry was posted by Remi on 3 mars 2010 at 21 h 12 min, and is filed under Sécurité, Tutoriels. Follow any responses to this post through RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |
Aucun commentaire pour l'instant
Aucun trackback pour l'instant
Additional comments powered by BackType