SCP传输限制

avatar 2020年2月18日18:53:59 评论 4,144 次浏览

我们在工作中经常会遇到服务器之间相互传输文件,用的最多的工具就是scp,有点是不需要安装,可以满足我们的基本需求,只需要知道常用的命令即可,常用命令是:

[root@localhost wulaoer]# scp -P 222 root@10.10.10.1:/home/wulaoer/access.log /apps/work/logs/

意思是说使用root用户进入到10.10.10.1机器上,把/home/wulaoer/access.log这个文件传输到执行命令的机器/apps/work/logs/的路径下,如果向外传输只需要调整一下位置,格式方法:

[root@localhost wulaoer]# scp [参数] [源文件或目录] [目标文件或目录]

scp的参数有:

-P 端口号,远程连接的端口号。
-r  递归复制整个目录。  
-i:   identity_file      【从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh】 
-q  不显示传输进度条。  
-l limit  限制用户所能使用的带宽,以Kbit/s为单位。 
-F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。  
-c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。   
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。   
-p 保留原文件的修改时间,访问时间和访问权限。  
-C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能) 
-B  使用批处理模式(传输过程中不询问传输口令或短语)   

以上是scp传输常用的参数详解,这里我们只说参数-l限制,在没有举例之前我先创建一个大文件:

[root@localhost wulaoer]# dd if=/dev/zero of=wulaoer.logs bs=1G count=4
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 116.568 s, 36.8 MB/s
[root@localhost wulaoer]# ll -h wulaoer.logs 
-rw-r--r--. 1 root root 4.0G Feb 18 14:35 wulaoer.logs

创建一个4G大小的文件,文件名为wulaoer.logs,让这个文件传输到其他机器上,看一下传输效果。

[root@localhost wulaoer]# scp wulaoer.logs root@10.211.55.144:/root
The authenticity of host '10.211.55.144 (10.211.55.144)' can't be established.
ECDSA key fingerprint is SHA256:HmP+fHegqRjsN+UxTx+0jKpvGpSF8LBVvM5Ike/P3k4.
ECDSA key fingerprint is MD5:d9:6e:e4:eb:cd:d4:cf:d8:2c:c1:97:61:62:5a:6d:ac.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.211.55.144' (ECDSA) to the list of known hosts.
root@10.211.55.144's password: 
wulaoer.logs                                                                                                                                                                                                                  100% 4096MB  23.6MB/s   02:53    

这种数据传输原本没有限制,如果带宽小,会一下撑爆带宽限制其他的流量。这时就需要使用限制了,我们可以根据我们的带宽,选择传输时把传输限制低一点,即传输了数据,又不影响其他的网络请求,但是这个传输时间会很长不过没有办法,条件限制。

[root@localhost wulaoer]# scp -rl 20000 wulaoer.logs root@10.211.55.144:/root
root@10.211.55.144's password: 
wulaoer.logs                                                                                                                                                                                                                   23%  957MB   2.5MB/s   21:20 ETA

限制每秒传输20000字节,也就约等于每秒传输2M的数据,在数据传输的过程中,速度也就在2M左右。

以上就是scp的限速方法,没有了看些其他的把。

avatar
  • 未经博主允许,禁止转载本博客任何内容,如需转载请留言,谢谢合作!!!
  • 转载注明:SCP传输限制 | 吴老二

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: