rsync 无需远程控制

rsync 无需远程控制

rsync我想知道当远程服务器没有安装它(或者至少我的用户无法使用)时是否有可能使用它。

远程服务器是一个共享主机,虽然我有 ssh shell 访问权限,但在该 shell 上我可以使用的内容是极其基本(这是我很快要更换主机的原因之一,但现在不可能了)。

是否有任何预编译的 rsync 二进制文件(我相信主机是 x64 Red Hat,但我不确定)我可以下载到我的主机(使用 wget 或 ftp)来使用它?我无法在其上使用 gcc 或任何东西从远程主机上的源代码构建。我对本地 linux 机器(ubuntu)有完全访问权限,只需将 rsync 二进制文件复制到远程主机就可以了吗?编辑:似乎不行,我测试了一下,它需要特定版本的libc.so.6。我实际上从我的 ubuntu 复制了所需的库并设置LD_LIBRARY_PATH为测试,结果出现了分段错误,我无法进一步调试,因为我没有该 shell 上的工具)

否则,有什么建议可以进行增量同步吗?我可以通过 [s]ftp 连接到该远程主机,但仅此而已

答案1

我最终在本地 ubuntu 机器上编译了一个静态版本并将其上传到远程主机(然后用于--rsync-path设置我的静态链接二进制文件的路径)。

我对它的工作没有抱太大希望,因为即使对于静态链接的二进制文件,链接器也会告诉你需要有相同的 glibc 版本...但它确实起作用了,而且它现在正在“rsyncing”。

答案2

rsync-静态是一个 GitHub 项目,提供预编译的rsync 适用于 3 种架构的版本

  • x86
  • 手臂
  • AArch64

答案3

您可以设置sshfs远程服务器然后指向rsync它。

sshfs server:/ ~/mnt/server
rsync -options path/to/source ~/mnt/server/path/to/sync/to

您可能需要调整sshfs和/或rsync选项,以免因远程端出现的权限/所有权不同而感到困惑。

相关内容