rsync on windows server

Reminder to establish rsync connection from a windows server to a remote server

install cwrsync Or CYGWING

Use this link for CWRSYNC

Or install Cygwin and select RSYNC, SSH et openSSL package

Setup a DOS script:
C:
cd c:/Program Files (x86)/cwRsync/bin
rsync.exe -aivz --rsh="./ssh.exe -i C:/Users/bob/.ssh/id_rsa -p 8888" "/windows/backup/" "bob@backup.server.com:/var/backup"

the rsh command allow you to customize the connection particularly to change the default port (the -p option) and to point the right identity file (private rsa key) (the -i option)

for basic explanations please refer to rsync.net

Utilisation de la commande rsync, ou comment synchroniser vos répertoires distants

Comment faire ?

Le man de rsync est tres bien fait, je dirais simplement qu’il faut le lire pour comprendre les principes.

Pour ceux qui veulent faire vite :

rsync copie/synchronize une source et une destination. Le premier argument est la source et le deuxième argument est la destination.

Un point important avec rsync la gestion du / en fin de path :

 rsync -aivz -e ssh --del user@monserveur.com:"/u01/svnroot/" /data/svn

le / à la fin de « /u01/svnroot/ » indique la copie du contenu du répertoire s’il n’est pas présent c’est le répertoire svnroot qui est copié dans le répertoire /data/svn

Quelques exemples d’utilisation :

Copie d’un fichier vers une destination :
 rsync -v -e ssh user@monserveur.com:/path/fic.tar.gz /autrepath/
Synchronisation de deux répertoires dans un tunnel ssh :
 rsync -aivz -e ssh --del user@monserveur.com:"/path/ftp/" /autrepath/ftp
Dryrun (que du log pas d’action) de la synchronisation précédente :
 rsync -anivz -e ssh --del user@monserveur.com:"/path/ftp/" /autrepath/ftp

Mémos :

  • attention avec l’option –del (c’est la plus rapide car elle supprime à  la volée) la suppression est effective immédiatement. Il est conseillé d’ajouter un n dans les options pour lancer en mode dryrun : il n’y a pas d’exécution effective des commandes seulement un log des actions.
  • pour l’utilisation avec des tunnels ssh, ajoutez votre cle_pub dans les authorized_keys sur le serveur distant pour ne pas avoir à taper votre mot de passe surtout si il s’agit de tâches ordonnancées.