如何在两个VPS之间传输大量小文件

苏苏 / 来源

在两个vps之间传输大量的碎文件最简单的方法莫过于压缩之后wget过去,但是如果总文件过大,要压缩的话可能我们的硬盘就不够了。当然了聪明如你,肯定也想到了,那么我就压缩一部分,wget过去后,再压缩另外一部分,多搞几次,不就可以了?

当你发现这条路行不通后,你还会百度到用rsync来同步。但是在生产环境下面安装这种奇奇怪怪的工具,总感觉不太舒服。

其实,我们还可以通过tar来实现这个目的。

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

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

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


然后再输入你那台VPS的密码,慢慢等待就可以了。当然了,因为传输需要较多的时间,可能需要我们开启screen,相关命令,可以在本博客搜索。


另外还可以使用scp命令,但是苏苏就使用感觉而言,貌似scp要慢一些,命令如下:

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


下次要在两个vps直接传输文件,是不是要方便多了呢?

Tags: Categorised in: This post was written by PopVPS

Comments are closed here.