码迷,mamicode.com
首页 > Web开发 > 详细

linux上传限速脚本

时间:2015-07-13 16:05:06      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:linux   限速   

以下脚本可用于对服务器进行上传限速,当业务使用处于高峰期时,为不影响业务的正常使用,限制上传速度,保证能正常提供服务。

原理是使用linux中的TC(流量控制模块)实现限速功能。

脚本的使用如下:

启动:sh limit.sh start 200  (限制上传速度为200kb/s)

停止:sh limit.sh stop

#!/bin/bash
#a simple example for "tc"
#set the param

DELAY=20
SPEED=$2
FLOW=0

#出口网卡
NETWORK_CARD=$(ip ro get 115.29.128.27 | grep eth | awk '{print $5}')

#服务器IP
IP_ADDRESS=115.29.128.28
start () {
    /sbin/tc qdisc add dev ${NETWORK_CARD} root handle 1: htb default 25
    /sbin/tc class add dev ${NETWORK_CARD} parent 1: classid 1:1 htb rate ${SPEED}kbps
    /sbin/tc qdisc add dev ${NETWORK_CARD} parent 1:1 netem delay ${DELAY}ms ${FLOW}ms
    /sbin/tc filter add dev ${NETWORK_CARD} parent 1: protocol ip prio 1 u32 match ip dst ${IP_ADDRESS}/32 flowid 1:1
}

stop () {
    /sbin/tc qdisc dele dev ${NETWORK_CARD} root
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    *)
        echo "Usage: `basename $0` {start|stop} speed(kb/s)"
esac


版权声明:本文为博主原创文章,未经博主允许不得转载。

linux上传限速脚本

标签:linux   限速   

原文地址:http://blog.csdn.net/xiaokfc/article/details/46863101

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!