Actualmente estoy usando sftp para descargar copias de seguridad nocturnas (.tar.gz) desde mi servidor web a mi computadora de escritorio. Creo que me gustaría cambiar a rsync para minimizar el ancho de banda (y el tiempo). Tengo cygwin instalado en mi PC, pero no lo uso mucho. Tengo acceso de shell a mi servidor web a través de ssh (PuTTY).
Digamos que mi directorio de origen es myserver.com:/home/username/backups/, quiero tomar todos los archivos .tar.gz desde allí y quiero guardarlos en C:\Backups\ localmente.
Respuesta1
Utilice el rsync integrado en el cuadro *nix yCopia Deltaen el cuadro Win32.
Respuesta2
Pude hacer que esto funcionara con rsync y ssh de cygwin. Aquí está el comando con el que terminé:
C:\cygwin\bin\rsync.exe -vcr -e "ssh -l username -i /cygdrive/C/Backups/sshkey" "myserver.com:/home/username/backups/" "/cygdrive/C/Backups/rsync/"
Aquí hubo algunos problemas en el camino: Agregué C:\cygwin\bin\ a mi RUTA de Windows. No sé si esto era estrictamente necesario, pero me ayudó.
Chris S.'senlacepara crear el par de claves necesario para permitir que ssh se conecte sin usar una contraseña.
También necesitaba establecer algunos permisos del directorio y archivo .ssh recién creado en el servidor...
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys/
Ah, y necesitaba crear localmente ~/.ssh manualmente dentro de cygwin.