Pourquoi cwRsync ne fonctionne pas sous Windows?

16

J'essaie d'exécuter rsync sur Windows avec le port cwrsync.

J'émets la commande suivante (notez que ce n'est qu'un essai à sec):

rsync -nPaAz [email protected]:/home/foobar/webapps/barbaz/ C:\\mybackupfolder\

mais j'obtiens l'erreur suivante

The source and destination cannot both be remote.
rsync error: syntax or usage error (code 1) at main.c(1148) [Receiver=3.0.8]

Quelqu'un peut-il m'indiquer la bonne direction?

Lorenzo
la source

Réponses:

20

Pour la destination, essayez d'utiliser:

/cygdrive/c/mybackupfolder/

Notez que deux points indiquent à rsync que l'emplacement est distant.

jftuga
la source
Gotcha sur le côlon! Mais cela ne semble pas aider. J'ai également essayé cette autre version (% CD% est une variable env pointant vers le répertoire actuel) mais échoue toujours: rsync -nPaAz [email protected]: / home / foobar / webapps / barbaz /% CD%
Lorenzo
2
que diriez-vous de passer au répertoire de destination, puis utilisez simplement "." pour la destination?
jftuga
Cela fonctionne réellement pour moi. Vous pouvez simplement ajouter / cygdrive / avant tout lecteur Windows. J'ai installé rsync via Chocolatey (donc basé sur cygwin).
seb
5

Mon environnement: Windows 10, en PowerShell. La solution a également fonctionné dans une invite DOS.

Le problème est provoqué par les :lettres après le lecteur, ce qui le fait ressembler à une spécification de nom d'hôte. Vous devez utiliser une notation alternative.

J'utilisais rsync installé via Chocolatey , donc pas de lecteurs cygwin.

Windows 10 me permet de le faire sur PowerShell:

dir //localhost/C$

Donc, cette commande, exécutée dans un PowerShell Windows 10, a très bien fonctionné pour moi, après avoir rencontré le même problème exact.

rsync -av //localhost/d$/home/work/fb460.winbup/src //localhost/d$/home/work/fb460.winbup/tgt
JL Peyret
la source
Notez que cela ne fonctionne pas ou du moins je ne pouvais pas le faire fonctionner pour les lecteurs ext2fsd. Votre expérience peut différer. Cependant, comme je voulais copier de ext2 vers ntfs, je suis juste passé au lecteur ext2 et j'ai courursync -a some/path //localhost/c$/some/path
chx
J'ai également installé via Chocolatey. Cela a bien fonctionné pour moi! NTFS à NTFS.
jonathanbell
4

Vous venez d'un problème similaire avec rsync pour Windows.

Au lieu d'utiliser le chemin d'accès, créez simplement un fichier .bat qui utilise CD C:\whereto\ensuite dans la commande rsync utilisez simplement .comme répertoire pour enregistrer.

Exemple (quelque chose.bat):

@echo off  
cd C:\mybackupfolder\  
rsync -nPaAz [email protected]:/home/foobar/webapps/barbaz/ .  
Vil
la source
2

Essayer

 rsync -nPaAz [email protected]:/home/foobar/webapps/barbaz/ C:/mybackupfolder/
Krumelur
la source
Cela ne fonctionne pas comme prévu pour moi.
Emre Yazici