Linux运维之家运维小技巧系统运维专家

怎样通过网络在两台Linux之间倒数据

2016-09-20  本文已影响247人  haw_haw

Why

在服务器之间倒腾数据是运维工作的常见场景,这个运维的同行们应该都心有戚戚焉吧,比如要把一台服务器上的服务迁移到另外一台服务器上、比如这个服务又新上一台服务器,需要把数据从老服务器上同步过来一份,类似的需求是不是感觉经常碰到呢?

How

  1. scp
  2. rsync
  3. sftp
  4. nc
  5. socat
  6. ......

以上几种方法中:

总结一下:

# server A & server B上都要执行
yum -y install tar socat;
# server A(ip:1.1.1.1)上执行
cd dest_path;
socat tcp4-listen:11111 stdout | tar xvpf -
# server B上执行
cd src_path;
tar cvf - files | socat stdin tcp4:1.1.1.1:11111
# server B上的src_path/files==>server A的dest_path/files
# 在千兆环境下,拷贝速度可以稳定达到800M以上。

思考

# server A & server B上都要执行
yum -y install tar socat xz;
# server A(ip:1.1.1.1)上执行
cd dest_path;
socat tcp4-listen:11111 stdout | tar xJvpf -
# server B上执行
cd src_path;
tar cJvf - files | socat stdin tcp4:1.1.1.1:11111
# 在千兆环境下,拷贝速度只有10M(压缩后)左右。
# server A & server B上都执行
yum -y install nc;
# server A(ip:1.1.1.1)上执行
cd dest_path;
nc -l 11111 | tar xv
# server B上执行
cd src_path;
tar cvf - files | nc 1.1.1.1 11111
上一篇下一篇

猜你喜欢

热点阅读