Comment j'utilise rsync pour synchroniser les fichiers du portable et ceux de mon serveur perso.

Par R. Suinot: rsuinux@gmx.fr

Contenu


Quels fichiers?

sur le portable, je developpe, entre autre, mes deux sites internet (http://rsuinux.free.fr et http://rsuinot.free.fr). Par mesure de sécurité, je teste les versions sur mon serveur perso (cf projet domotique). Cela permet d'avoir un minimum de problème sur le serveur de free.fr (quoi que parfois, il reste quelques petits problèmes). De plus, le projet domino aussi est sauvé sur le serveur. Comme ça, pas de problème (ou moins de problèmes....)


Côté serveur

Mon serveur est un pentium 133 sans cache externe. Il tourne sous Debian, potato (2.2.r3), avec, entre autre:

Les differents sites en développement sont dans le répertoire utilisateur 'admin'. Apache est configuré avec des hôtes virtuels pointant vers le repertoire /home/admin/rsuinux ou /home/admin/rsuinot. J'ai evidemment modifier les groupes d'appartenance pour Apache (www-data) et pour l'utilisateur admin (afin qu'Apache puisse lire dans le répertoire /home/admin). Les autres serveurs ont la configuration par defaut effectué lors de leur installation via apt-get. Pour le réseau interne, la machine s'appelle ncc1701d.starfleet.home. Vous pouvez trouver ma config de rsync ici.


Côté client (le portable)

Sur le portable, j'ai ssh qui est installé, ainsi que le paquet rsync, dont je ne me sert que comme client. Pour le reste, rien de particulier, tout dépend de la configuration du serveur!


Utilisation de rsync

Voila comment je fais pour synchroniser les fichiers du serveur sur ceux du portable:

$ cd ~/rsuinot.free.fr/
$ rsync -rvt * admin@ncc1701d:rsuinot
$ cd ~/rsuinux.free.fr/
$ rsync -rvt * admin@ncc1701d:rsuinux
Et hop, apres la demande du mot de passe de l'utilisateur admin, tout se fait tout seul, récursivement (option -r) et la liste des fichiers transférés s'affiche (option -v), en gardant l'heure de dernière modification (option -t). A noté que rsync passe automatiquement par ssh, ce qui m'a causé quelques problèmes sur le serveur (le paquet se trouve dans non-us non-free), et que la première fois que la première fois que j'ai lancé rsync, la 'couche' ssh m'a demandé de confirmer l'autentification de la clef du serveur. Si vous n'êtes pas sur que l'hôte appelé est bien celui qu'il prétent (cas de piratage en cours), vous devriez stopez ici. En ce qui me concerne, le portable était la seule machine branchée, donc pas de problème.


Conclusion

J'ai cherché quelque temps une solution de ce type, mais j'avais éprouvé des difficultés lors de mes premiers essais (apache qui refusait les répertoires utilisateurs, ssh qui manquait sur le serveur, manque de temps pour se pencher sur le problème, ...). A présent, je me suis fait un script sur le portable, qui effectue la mise à jour des deux répertoire tout seul, c'est bien plus pratique, et rapide. Ce qui serait encore mieux, c'est de pouvoir le faire sur free, mais là, c'est une autre affaire...




S'il vous arrivait de vous servir de cette doc, envoyez moi un petit mot, merci!