我需要传输,然后更新从我的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/