¿Por qué cwRsync no funciona en Windows?

16

Estoy tratando de ejecutar rsync en Windows con el puerto cwrsync.

Estoy emitiendo el siguiente comando (tenga en cuenta que esto es solo una ejecución en seco):

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

pero me sale el siguiente error

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

¿Podría alguien señalarme en la dirección correcta?

Lorenzo
fuente

Respuestas:

20

Para el destino, intente usar:

/cygdrive/c/mybackupfolder/

Tenga en cuenta que los dos puntos le indican a rsync que la ubicación es remota.

jftuga
fuente
Gotcha sobre el colon! Pero no parece ayudar. También probé esta otra versión (% CD% es una variable env que apunta al directorio actual) pero sigue fallando: rsync -nPaAz [email protected]: / home / foobar / webapps / barbaz /% CD%
Lorenzo
2
¿Qué hay de cambiar al directorio de destino y luego simplemente usar "." para el destino?
jftuga
Esto realmente funciona para mí. Simplemente puede anteponer / cygdrive / antes de cualquier unidad de Windows. Instalé rsync a través de Chocolatey (por lo tanto, basado en cygwin).
seb
5

Mi entorno: Windows 10, en powershell. La solución también funcionó en un indicador de DOS.

El problema es causado :después de las letras de unidad, lo que hace que parezca una especificación de nombre de host. Tienes que usar una notación alternativa.

Estaba usando rsync instalado a través de Chocolatey , por lo que no hay unidades cygwin.

Windows 10 me permite hacer esto en powershell:

dir //localhost/C$

Por lo tanto, este comando, que se ejecuta en Windows 10 PowerShell, funcionó bien para mí, después de tener el mismo problema.

rsync -av //localhost/d$/home/work/fb460.winbup/src //localhost/d$/home/work/fb460.winbup/tgt
JL Peyret
fuente
Tenga en cuenta que esto no funciona o al menos no pude hacerlo funcionar para las unidades ext2fsd. Tu experiencia puede ser diferente. Sin embargo, como quería copiar de ext2 a ntfs, simplemente cambié a la unidad ext2 y ejecutérsync -a some/path //localhost/c$/some/path
chx
También lo instalé a través de Chocolatey. ¡Esto funcionó bien para mí! NTFS a NTFS.
jonathanbell
4

Llegué de un problema similar con rsync para Windows.

En lugar de usar la ruta, simplemente cree un archivo .bat que CD C:\whereto\luego use en el comando rsync, solo use .como directorio para guardar.

Ejemplo (something.bat):

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

Tratar

 rsync -nPaAz [email protected]:/home/foobar/webapps/barbaz/ C:/mybackupfolder/
Krumelur
fuente
Esto no funciona como se esperaba para mí.
Emre Yazici