Rsync / Ssh entre Windows et Linux

J’ai passé une bonne heure, hier soir, à configurer la synchronisation du contenu d’un répertoire entre une machine Windows et un serveur Linux, là où il m’aurait fallu 5 minutes, à peine, entre deux systèmes Linux.

Problématique

Rsync entre Windows et LinuxComme j’ai déjà eu l’occasion de vous en parler, j’utilise l’agrégateur RSS Newsfox sous Firefox pour l’organisation de mon système de veille sur Internet. 260 flux au total, à ce jour. Stockées sur mon ordinateur de bureau, je ne peux pas  accéder à mes données lors de mes déplacements. J’ai donc décidé de les copier sur un serveur auto-hébergé et de les synchroniser ensuite avec mon ordinateur portable.

Préambule

Dans mon exemple, le programme Rsync – et Ssh – sous Windows s’exécute à partir du répertoire F:\cwRsync. Ma clé SSH, générée avec ssh-keygen, se trouve stockée dans F:\dedibox. Les fichiers download.cmd et upload.cmd ont été sauvegardés dans le répertoire F:\cwRsync. Les contenus des répertoires à synchroniser, dans lesquels se trouvent les données de Newsfox, sont respectivement :

Génération de la paire de clés

Elle s’effectue avec ssh-keygen.

shh-keygen -b 2048 -t rsa

J’ai renommé la clé privée id_rsa en rsync.ppk. Quant à la clé publique id_rsa.pub, j’en ai ajoutée le contenu dans le fichier /root/.ssh/authorized_keys du serveur Linux.

Le upload

Il a tout d’abord fallu envoyer les fichiers de mon ordinateur de bureau Windows vers le serveur Linux à partir du fichier upload.cmd :

@echo off
SETLOCAL
set PATH=%PATH%;f:\cwRsync
rsync -e "ssh -i /cygdrive/f/dedibox/rsync.ppk -p 59804" --delete -t -r -z --compress-level=9 /cygdrive/d/firefox/newsfox root@195.154.72.5:/home/firefox
ENDLOCAL
exit

Le download

J’ai ensuite récupéré les fichiers de Newsfox à partir de la machine Linux vers mon ordinateur portable à l’aide du fichier download.cmd :

@echo off
SETLOCAL
set PATH=%PATH%;f:\cwRsync
rsync -e "ssh -i /cygdrive/f/dedibox/rsync.ppk -p 59804" --delete -r -t -z --compress-level=9 root@195.154.72.5:/home/firefox/newsfox /cygdrive/d/firefox 
ENDLOCAL
exit

Les commutateurs utilisés

Vous pouvez consulter tous les commutateurs utilisables au niveau de la commande Rsync en tapant à partir de la ligne de commande Windows, rsync –help|more.

-e Exécute la commande Ssh
–delete Efface les données de la destination qui n’existent pas au niveau de la source
-r Copie les données récursivement
-t Conserve les dates d’origine des fichiers
-z Compresse les fichiers
–compress-level=9 Définit le niveau de compression

Linux  / Formateur Linux Linux Rsync SSH Windows 

Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)