我目前正在使用 sftp 將夜間備份 (.tar.gz) 從我的網站主機下載到我的桌上型電腦。我想我想切換到 rsync 以最小化頻寬(和時間)。我的電腦上安裝了 cygwin,但不常使用它。我可以透過 ssh (PuTTY) 對我的 Web 主機進行 shell 存取。
假設我的來源目錄是 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/"
在此過程中出現了一些問題: 將 C:\cygwin\bin\ 新增到我的 Windows 路徑中。我不知道這是否絕對必要,但它對我有幫助。
克里斯小號的關聯建立允許 ssh 在不使用密碼的情況下連接所需的金鑰對。
我還需要在伺服器上設定新建立的 .ssh 目錄和檔案的一些權限...
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys/
哦,我需要在 cygwin 中手動本地創建 ~/.ssh。