类似Rsync的文件传输在远端没有rsyncd或sshd

我需要传输,然后更新从我的networking中的一个Linux主机目录结构到客户networking中的另一个Linux主机。 我只能通过Citrix客户端访问客户networking。 我可以通过SSHlogin,我可以通过SCP复制文件,但是我不能在两个networking之间进行任何types的端口转发。

很明显,我必须首次将整个目录结构复制为tarball。 但是之后,有没有什么办法可以根据远程目录结构的列表来优化tarball的创build呢?

任何人都可以推荐一个unix命令行工具来帮助上面的?

你可以用gnu tar(而不是bsd tar)通过ssh使用增量tar档案来传输更改。 第一个tar将是0级,然后是1级…您需要保留snapshot.snar文件并每次引用它,否则它将创build一个新的级别0。

$ tar --listed-incremental snapshot.snar -cf - dir | ssh user@host "tar --listed-incremental=/dev/null -xf -" 

如果您想使用压缩来加速传输,则可以在两个tar命令中添加一个“z”或“j”开关。

您可以rsync -av /local/dir/appA user@host:remote_dir/ – 但必须在服务器端安装rsync程序。

如果没有安装rsync,那么你可以使用:

 mkdir /tmp/host sshfs user@host:remote_dir/ /tmp/host/ 

接着:

 rsync -av /local/dir/appA/ /tmp/host/ 

您可以使用rsync + ssh来执行此操作(使用rsync“-e”选项)。

示例: rsync -avu -e 'ssh' /local/dir/appA user@host:remote_dir/