Atualmente, estou usando o sftp para baixar backups noturnos (.tar.gz) do meu host para o meu computador desktop. Acho que gostaria de mudar para o rsync para minimizar a largura de banda (e o tempo). Tenho o cygwin instalado no meu PC, mas não o uso muito. Tenho acesso shell ao meu host via ssh (PuTTY).
Digamos que meu diretório de origem seja myserver.com:/home/username/backups/, quero pegar todos os arquivos .tar.gz de lá e salvá-los em C:\Backups\ localmente.
Responder1
Use o rsync integrado na caixa *nix eDeltaCopyna caixa Win32.
Responder2
Consegui fazer isso funcionar com o rsync e o ssh do cygwin. Aqui está o comando que acabei com:
C:\cygwin\bin\rsync.exe -vcr -e "ssh -l username -i /cygdrive/C/Backups/sshkey" "myserver.com:/home/username/backups/" "/cygdrive/C/Backups/rsync/"
Aqui estão alguns problemas ao longo do caminho: Adicionado C:\cygwin\bin\ ao meu Windows PATH. Não sei se isso foi estritamente necessário, mas me ajudou.
Chris S.delinkpara criar o par de chaves necessário para permitir a conexão do ssh sem usar uma senha.
Eu também precisei definir algumas permissões do diretório e arquivo .ssh recém-criado no servidor...
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys/
Ah, e eu precisava criar manualmente localmente ~/.ssh no cygwin.