Ssh

從沒有 rsync 的遠端伺服器複製

  • July 28, 2017

我需要從我可以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 伺服器上呼叫哪個。

引用自:https://unix.stackexchange.com/questions/204530