tar+pigz+ssh实现大数据压缩传输
磁盘读取---->打包---->压缩------>传输---->解压缩-->拆包---->落盘
|->tar |->gzip |->ssh |->gzip |->tar
比如我要将本地的test目录拷贝到“目标IP”的的data目录,则命令如下:
tar -c test/ |pigz |ssh -c arcfour128 目标IP "gzip -d|tar -xC /data"
或者
tar -c test/* |pigz |ssh -c arcfour128 目标IP "gzip -d|tar -xC /data"
如果不需要解压,则命令变为:
tar -c test/ |pigz |ssh -c arcfour128 目标IP "cat >/data/test.tar.gz"
注:因为采用了流式压缩,解压过程必须加上-i参数,及tar –ixf /data/test.tar.gz(面对大数据的时候)
执行命令的过程中如果抛出:-bash: pigz: command not found
解决: 安装pigz(我提供了两个版本, 随便安装一个就行, 我之前安装的是yum版)
https://files.cnblogs.com/files/chenglee/pigz-2.3.4.tar.gz
还有一个是redhat的rpm包提供的, 需要的可以上yum库找, 以上的是编译包