服务器写入大量小文件,nc结合bash并发拷贝大量的小文件

生产环境的一台服务器硬盘有问题,需要更换服务器,其中有16480个小文件,总共11G左右的数据需要迁移,数据中断限制在5分钟内,拷贝数据必须限制到2分钟之内完成

尝试过用nfs、scp的方法时间消耗都比较长,最后决定用nc,2分钟之内搞定,简单记录下过程

1、新服务器1000M以太网

# ethtool em1Settings for em1:

Supported ports: [ TP ]

Supported link modes:   10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Half 1000baseT/Full

Supported pause frame use: No

Supports auto-negotiation: Yes

Advertised link modes:  10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Half 1000baseT/Full

Advertised pause frame use: Symmetric

Advertised auto-negotiation: Yes

Link partner advertised link modes:  10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Link partner advertised pause frame use: No

Link partner advertised auto-negotiation: Yes

Speed: 1000Mb/s

Duplex: Full

Port: Twisted Pair

PHYAD: 1

Transceiver: internal

Auto-negotiation: on

MDI-X: off

Supports Wake-on: g

Wake-on: d

Current message level: 0x000000ff (255)

drv probe link timer ifdown ifup rx_err tx_err

Link detected: yes

2、服务端需要开16个shell等待客户端传输数据,经测试,nc服务端进程不能放在后台,必须放在前台

nc -l 990 |tar -C /home/serverrrd/ -zxf -

nc -l 991 |tar -C /home/serverrrd/ -zxf -

nc -l 992 |tar -C /home/serverrrd/ -zxf -

nc -l 993 |tar -C /home/serverrrd/ -zxf -

nc -l 994 |tar -C /home/serverrrd/ -zxf -

nc -l 995 |tar -C /home/serverrrd/ -zxf -

nc -l 996 |tar -C /home/serverrrd/ -zxf -

nc -l 997 |tar -C /home/serverrrd/ -zxf -

nc -l 998|tar -C /home/serverrrd/ -zxf -

nc -l 999 |tar -C /home/serverrrd/ -zxf -

nc -l 9910 |tar -C /home/serverrrd/ -zxf -

nc -l 9911 |tar -C /home/serverrrd/ -zxf -

nc -l 9912 |tar -C /home/serverrrd/ -zxf -

nc -l 9913 |tar -C /home/serverrrd/ -zxf -

nc -l 9914 |tar -C /home/serverrrd/ -zxf -

nc -l 9915 |tar -C /home/serverrrd/ -zxf -netstat -ntlup| grep nc

3、客户端开16个并发同时向服务端提交传输数据

cat batch-client.sh#!/bin/bash

for i in 1 2 3 4 5 6 7 8 9 0 a b c d e f

do

{

expr $i "+" 10 &> /dev/null

if [ $? -eq 0 ]; then

port=$i

else

port=1`echo $i| tr "a-z" "0-5"`

fi

#echo $port

#echo $i*.rrd

tar -zcf - $i*.rrd |nc 172.30.4.219 99$port

} &

done

wait

echo "done"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值