La procédure est un peu longue. Si j'ai le temps, j'écrirai un beau tutorial issue de la ma documentation Word. En attendant, voici un copier/coller un peu laid :
Pré-requis
- Le serveur cwRsync ne doit pas être installé sur une machine étant Contrôleur de domaine.
- Le port 873 doit être ouvert sur le serveur de déploiement principal ainsi que sur chaque serveur de déploiement en agence.
Fichier de configuration rsyncd.conf
Code :
- ######################
- # Global definitions #
- ######################
- use chroot = false
- strict modes = false
- hosts allow = *
- log file = rsyncd.log
- pid file = rsyncd.pid
- motd file = banner
- ######################
- # Module definitions #
- ######################
- [Distribution]
- comment = "hop"
- path = /cygdrive/d/Distribution
- max connections = 0
- read only = yes
- list = yes
- transfer logging = yes
- charset = CP1252
|
Création d'une tâche planifiée
1. Se connecter en tant qu’Administrateur sur le serveur.
2. Cliquer sur le bouton Start puis ouvrir les menus All Programs – Accessories –Systems Tools et sélectionner Scheduled Tasks.
3. Double-cliquer sur Add Scheduled Task. Un assistant apparaît…
4. Cliquer sur le bouton Next.
5. Cliquer sur le bouton Browse et se placer dans C:\Program Files\cwRsync. Sélectionner le script Sync_Prod.bat.
6. Insérer le nom de la tâche.
7. Indiquer 00:01 comme heure de lancement puis sélectionner Sunday. Laisser par défaut Every 1 weeks puis cliquer sur le bouton Next.
8. Entrer le nom de l’utilisateur et son mot passe ayant le droit de lancer cette tâche.
9. Sélectionner Open advanced properties for this task when I click Finish puis cliquer sur le bouton Finish.
Commande Rsync
Rsync est un outil qui offre une multitude d’options. Après une analyse fine du besoin, voici les deux lignes de commandes qui sont utilisées pour le projet.
Production :
Code :
- rsync -cazuq --del --delay-updates --iconv=CP1252 %SERVER%::Distribution /cygdrive/d/Distribution
|
Debug :
Code :
- rsync -chavvuz --del --delay-updates --iconv=CP1252 --progress --stats %SERVER%::Distribution /cygdrive/d/Distribution
|
Tableau des options utilisées :
-q --quiet Le script ne renvoie aucunes informations. Cette option est utile en production.
-c --checksum Le script se base sur une comparaison par checksum 128 bits MD4 plutôt que par rapport au timestamp et à la taille du fichier.
-a --archive Cette option est équivalente à –rlptgoD. C’est une méthode rapide de synchroniser les données en conservant les principaux attributs (propriétaires, groupes, récursivité dans les dossiers…).
-u --update Avec cette option, le script ne met pas à jour un fichier existant qui est plus récent dans le répertoire de destination par rapport au répertoire de source.
--del --delete-during Cette option permet d’activer le mode miroir. En effet, si un fichier est supprimé dans le répertoire de source, il le sera aussi dans le répertoire de destination lorsque le script sera exécuté.
-z --compress Cette option permet de compresser les données avant de les synchroniser. Elle est particulièrement intéressante lorsque les lignes ont une faible bande passante.
--delay-updates Cette option permet de copier tous les fichiers dans un répertoire temporaire (~temp~) jusqu’à ce qu’ils soient tous correctement transférés. Elle permet de rendre la copie atomique mais demande plus de ressource mémoire (1 bit par fichier transféré) et de ressource disque.
--iconv Cette option permet de sélectionner un encodage de caractère spécifique. A l’AFD, il est configuré sur CP1252.
-vv --verbose Le script renvoie beaucoup d’informations. Cette option est utile en mode debug.
-h --human-readable Les nombres sont affichés dans un format lisible par l’homme. Cette option est utile en mode debug.
--stats Avec cette option, un récapitulatif est affiché à la fin de la synchronisation. Cette option est utile en mode debug.
--progress Cette option donne plus d’informations sur la progression de la synchronisation. Cette option est utile en mode debug.