Ssh
從沒有 rsync 的遠端伺服器複製
我需要從我可以
ssh
訪問的 Ubuntu 遠端伺服器遞歸地複制一個文件夾。我不想遵循符號連結,也不想複製權限/所有者/組,因為我的客戶端系統(Ubuntu 也是)沒有與伺服器相同的使用者。這個
rsync
解決方案可能是最好的。但是伺服器沒有rsync
,我不能在那里安裝它;所以該命令給了我錯誤。還有其他方法可以複製遠端文件夾嗎?
如果您有權在本地機器上使用FUSE,請安裝該
sshfs
軟體包。SSHFS 允許您通過正常的文件系統訪問來訪問遠端文件:它掛載通過 SFTP 訪問的目錄樹。您只需要在遠端端具有 SFTP 訪問權限(預設情況下,在 Ubuntu 上使用 OpenSSH 啟用)。安裝遠端目錄後,您可以使用您選擇的工具來操作文件,而不必關心它們是本地的還是遠端的。mkdir ~/net/remote-server sshfs remote-server:/ ~/net/remote-server rsync -a --no-copy-links ~/net/remote-server/remote/path/ /local/path/ fusermount -u ~/net/remote-server
您可以使用
scp -r
在不同主機之間遞歸地複製文件。你的語法可能像scp -r user@Ubuntu-Server:/home/myuser ./from_Ubuntu_server
此外,您也許可以
rsync
使用 scp 將本地二進製文件上傳到 Ubuntu 伺服器,並將其添加--rsync-path=/home/myuser/rsync
到您的原始rsync
命令中,讓您的客戶端rsync
知道rsync
它應該在 Ubuntu 伺服器上呼叫哪個。