저는 현재 sftp를 사용하여 웹 호스트에서 데스크톱 컴퓨터로 야간 백업(.tar.gz)을 다운로드하고 있습니다. 대역폭(및 시간)을 최소화하기 위해 rsync로 전환하고 싶습니다. 내 PC에 cygwin이 설치되어 있지만 많이 사용하지는 않습니다. SSH(PuTTY)를 통해 웹 호스트에 대한 셸 액세스 권한이 있습니다.
내 소스 디렉터리가 myserver.com:/home/username/backups/라고 가정하고 거기에서 모든 .tar.gz 파일을 가져와서 C:\Backups\에 로컬로 저장하려고 합니다.
답변1
*nix 상자에 내장된 rsync를 사용하고델타복사Win32 상자에.
답변2
Cygwin의 rsync 및 ssh를 사용하여 이 작업을 수행할 수 있었습니다. 내가 사용한 명령은 다음과 같습니다.
C:\cygwin\bin\rsync.exe -vcr -e "ssh -l username -i /cygdrive/C/Backups/sshkey" "myserver.com:/home/username/backups/" "/cygdrive/C/Backups/rsync/"
그 과정에서 몇 가지 문제가 발생했습니다. 내 Windows PATH에 C:\cygwin\bin\을 추가했습니다. 이것이 반드시 필요한 것인지는 모르겠지만 도움이 되었습니다.
크리스 S'에스링크비밀번호를 사용하지 않고 SSH를 연결하는 데 필요한 키 쌍을 생성합니다.
또한 서버에 새로 생성된 .ssh 디렉터리 및 파일에 대한 일부 권한을 설정해야 했습니다...
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys/
아, 그리고 cygwin 내에서 ~/.ssh를 로컬에서 수동으로 생성해야 했습니다.