Pregunta:
Estoy tratando de usar rync localmente (en una máquina con Windows) en un servidor remoto (mi caja osx) para probar un script de compilación de implementación remota. He hecho rsync antes bien entre 2 servidores Linux, pero ahora tengo problemas. Aquí está el resultado:
$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export
skipping directory /Library/WebServer/sites/staging/app1/.
sent 8 bytes received 13 bytes 3.82 bytes/sec
total size is 0 speedup is 0.00
$
o
$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export
receiving file list ... done
./
sent 26 bytes received 68 bytes 17.09 bytes/sec
total size is 0 speedup is 0.00
$
el directorio app1 remoto está vacío, mientras que el directorio de exportación local tiene 4 subdirectorios y luego un montón de archivos en cada uno de esos
Respuesta:
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export
No le dio ninguna opción para ponerlo en modo recursivo como -r
o -a
.
el directorio app1 remoto está vacío, mientras que el directorio de exportación local tiene 4 subdirectorios y luego un montón de archivos en cada uno de esos
¿Tiene las opciones al revés aquí? El comando debe ser rsync [source] [DESTINATION]
. Si el directorio app1 está vacío y estás intentando copiar un directorio vacío, no vas a hacer nada útil.
¿Quizás necesitas algo como esto en su lugar?
rsync -avz ./export/ myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/
También:
- Casi siempre debería incluir una barra al final de los directorios con rsync.
- Casi todas las versiones de rsync lanzadas en los últimos 5 a 10 años utilizan de forma predeterminada ssh con transporte remoto. Probablemente no tenga que especificar el
-e ssh
.