linux scp限速传输
Jun132015
开发人员需要协助将生产环境的数据同步到UAT测试环境,550GB数据量,为了降低对生产环境的影响,我决定使用生产数据库每天凌晨4点生成的RMAN备份,开发人员要求将他们需要的几个数据库都同步到相近的时间点,降低业务数据不一致的问题,这样使用RMAN就更容易实现(使用逻辑备份可能遇到ORA-01555错误)。
在将生产库的备份拷贝到UAT环境时,为降低对生产环境的影响,需要对SCP工具进行限速。
[oracle@xxDB01 xxxdb]$ scp -r lv0_20150607 10.0.97.33:/data/ivldb Address 10.0.97.33 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! oracle@10.0.97.33's password: 20150607.log 100% 71KB 71.2KB/s 00:00 level_0_ivldb_datafile_700_1 10% 787MB 11.2MB/s 10:06 ETAKilled by signal 2.
上面是未做限速的情况,我看到每秒传送11.2MB,当时以为生产库和UAT数据库之间的网络是百兆网,这不把带宽给跑满了吗,当时吓的汗毛都立起来了,现在想想应该不是百兆网,SCP工具很难把网络跑满,一般会使用百分之四五十的带宽,至于每秒11.2MB应该是交换机做了限制。可是问了几个同事都不能确定到底是多少的带宽,只好对SCP工具进行限速了。
SCP工具可是使用-l参数进行速度限制,单位是字节。
NAME scp - secure copy (remote file copy program) SYNOPSIS scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 [...] [[user@]host2:]file2 -l limit Limits the used bandwidth, specified in Kbit/s.
限制每秒传输20000字节,也就约等于每秒传输2M的数据。
[oracle@XXDB01 xxdb]$ scp -rl 20000 lv0_20150607 10.0.97.33:/data/xxxdb Address 10.0.97.33 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT! oracle@10.0.97.33's password: 20150607.log 100% 71KB 71.2KB/s 00:00 level_0_ivldb_datafile_700_1 50% 3823MB 2.1MB/s 29:50 ETASlevel_0_ivldb_datafile_700_1 100% 7593MB 2.1MB/s 59:49 level_0_ivldb_datafile_699_1 100% 8709MB 2.1MB/s 1:08:38
受携程和支付宝影响,胆子越来越小,生产环境不敢动啊。
本文固定链接: https://www.dbdream.com.cn/2015/06/linux-scp%e9%99%90%e9%80%9f%e4%bc%a0%e8%be%93/ | 信春哥,系统稳,闭眼上线不回滚!