Automatisation des sauvegardes avec rsync
Au cours de ma carrière il m'est souvent arrivé d'avoir besoin d'effectuer des backups des PC utilisateurs en vue d'un formatage ou tout simplement à des fins d'archivage. Le premier réflexe est alors de se procurer un périphérique de stockage (clé USB ou Disque dure Externe); connecter le périphérique au PC, et sélectionner un par un les éléments (fichiers/répertoires à sauvegarder) .
Cette solution marche et permet de disposez d'une version de secoure de vos fichiers. Mais imaginons que vous ayez 50 ou 20 ou seulement 10 stations à sauvegarder tous les jours ou toutes les semaines la tache devient plus fastidieuse. Imaginons maintenant que vous ayez 1 ou 2 serveurs situés sur un site distant à sauvegarder également, vous devez donc effectuer la navette entre les deux sites; maintenant la tache devient contraignante. Imaginons en plus que sur certains de vos terminaux, le volume des données est tel que les sauvegardes n'interviennent que si il y a effectivement changement dans le contenu (sauvegardes incrémentiels). Ici ça devient quasiment impossible à gérer manuellement.
Il est possible d'automatiser les opérations de sauvegarde des stations locales et distantes et rsync (Remote Synchronisation) est un outil spécialement conçu pour répondre à ce besoin.
Rsync réalise une sauvegarder automatique et incrémentielle des répertoires ou fichiers désignés.
Le but de cet article est de décrire pas à pas les étapes de la mise en œuvre de Rsync pour la réalisation de sauvegardes incrémentiels. Il reprendra un cas réel qu'il m'a été donné de traiter; il s'agit de l'automatisation de la sauvegarde d'un parc PC sous Windows 7. Les pré-requis pour la mise en œuvre sont:
- Un serveur de sauvegarde sous Linux
- Une connexion internet
- Quelques base en administration système Windows/Linux
- Un profond dédain pour la méthode "manuelle"
Je me suis largement inspiré d'un très bon article que vous pouvez consulter ici en y ajoutant une petite touche personnelle.
Prêt?? C'est partit!
1- Téléchargement et Installation
Cette installation est testée sur Ubuntu desktop 12.04 (oui je sais il y a mieux comme serveur de stockage).2- Paramétrage
Le paramétrage consiste a "déclarer" les différentes sauvegardes. Pour cela nous devons:Créer un fichier de configuration dans /etc appelé rsyncd.conf
Éditez ce fichier tel qu'indiqué plus bas:
username correspond à votre nom d'utilisateur ubuntu.
Il est important de fixer les droits sur ce fichier
/home/username/backup indique le chemin ou seront stockées
les sauvegardes. Ce répertoire doit exister et avoir les droits d'accès
adéquats sinon l'exécution échouera.
#sudo mkdir /home/username/backup
#sudo chmod -R 755 /home/username/backup
Créer et éditer le fichier de mots de passe: /etc/rsyncd.secrets
et bien entendu fixer les droits:
Activer rsync en editant /etc/default/rsync
Démarrer le service
Et voilà côté serveur vous êtes OK. Il est tant de configurer nos clients Windows. Le principe est simple. rsync a une architecture de fonctionnement de type client/serveur. Maintenant que nous avons mis en place le serveur. Nous devons nous occuper des clients Windows.
3- Configuration des clients Windows
Télécharger et installer Cygwin
Cygwin est un outil permettant d'avoir accès a des commandes et applications linux (nano, chmod, chow, etc... ) sur une plateforme Windows. Pour résumer cygwin émule un terminal Linux sur un système Windows. Pourquoi en avons nous besoin? Et bien pour faire fonctionner le client rsync! Lors de l'installation 2 éléments doivent être impérativement sélectionnés:Editors > nanoetNet > rsyncVariable d'environnement
Il est nécessaire de créer un variable d'environnement et la positionner dans le dossier /bin du répertoire d'installation de cygwin
Fichier de mot de passe: secret
Pour des besoin de codage ce fichier doit être créer à l'aide d'un éditeur approprié utilisez pour cela la console cygwin (cygwin.bat) pour lancer l'éditeur nano: nano /secretÉditez ce fichier avec le mot de passe utilisé dans /etc/rsyncd.secrets (le mot de passe uniquement). Les droits sur ce fichier doivent appartenir à l'administrateur.4- Automatisation de la sauvegarde
Automatiser la sauvegarde d'un terminal Windows consiste à démarrer à intervalle régulier un script de sauvegarde. La première étape consistera donc à créer un script que nous nommerons rsync.batCe Fichier contient le code suivant:C:\cygwin\bin\rsync.exe -qrtz --password-file=/cygdrive/c/cygwin/secret --delete "/cygdrive/c/Documents and Settings/User Name" username@ipaddress::usernamebackup
user Name= utilisateur windows
username= utilisateur Linux
ipaddress= adresse ip du serveur de sauvegarde
Sauvegardez ce fichier à la racine C:/
Enfin il ne reste plus qu'à mettre en place son exécution automatique.Démarrer>Tous les programmes>Accessoires>Outils Systeme>Plannificateur de tâches5- Test
Maintenant on peut effectuer un test de sauvegarde pour cela on rajoute la ligne suivante au fichier rsync.bat:pause
- Ensuite on exécute le script. A la fin de l’exécution vous devriez retrouver sur votre serveur de sauvegarde le contenu de votre dossier:
6- Conclusion
C'est tout pour la mise en place des sauvegardes automatiques avec rsync.Mon opinion est que rsync est une solution efficace et facile à déployer. De plus le fait de pouvoir effectuer des sauvegardes distantes via ssh en fait une solution sûre pour la sauvegarde de données sensibles. Seul inconvénient de cette méthode à mon avis est le fait de devoir installer cygwin sure chacun des postes clients. Des implémentations rsync compatibles Windows existent telles que Delta Copy, ou cwRsync. J’espère vous les présenter dans un prochain post. En attendant amusez vous bien avec rsync et n'hésitez pas a partager votre expérience.
Aucun commentaire:
Enregistrer un commentaire