首页 > 后端教程 > 利用 tar 的管线命令 在两个vps间传送文件
2018
07-23

利用 tar 的管线命令 在两个vps间传送文件

 

在两个VPS之间传送文件,最简单方便的莫过于压缩之后wget过去。麻烦一点的也可以在接收方搭建个FTP服务去,利用FTP来传送。再麻烦一点,还可以使用 rsync 来同步。

然而以上三个方法均有较大的缺点,当文件过大,硬盘不够压缩,只能分几次来压缩,这就很痛苦了。再生产环境安装FTP或者rsync总是不太合适的。

所以记录一下,使用tar的管线命令来在两个vps间传送文件。简单好用。

在 tar 的使用中,有一种方式最特殊,那就是通过标准输入输出的数据流重导向(standard input/standard output), 以及管线命令 (pipe) 的方式,将待处理的文件一边打包一边解压缩到目标目录去,当然了,也可以解压到我们指定的VPS的目录中去。

假设,我们现在需要把本机的 /etc 目录传送到另外一台vps上去,那台VPS的IP地址为:110.110.110.110,SSH的端口为22.再假设传到 /tmp这个目录里面吧,那么命令如下:

tar -cv -f - /etc | ssh -p 22 root@110.110.110.110 tar -xv -f - -C /tmp

 

然后再输入你那台VPS的密码,慢慢等待就可以了。当然了,因为传输需要较多的时间,加上可能偶尔出现的本地网络波动,在传送方开启Screen是必不可少的步骤。

另外还可以使用scp命令。

scp -P 22 -r /etc root@110.110.110.110:/tmp

 

很适合有大量小文件的网站搬家。

最后编辑:
作者:eatdao
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。