Created
November 5, 2012 02:04
-
-
Save larsks/4014881 to your computer and use it in GitHub Desktop.
Rate limiting CrashPlan
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# The network device used for backups | |
dev=p10p1 | |
# The remove address of the CrashPlanserver | |
crashplan_addr=50.93.246.1 | |
# The port | |
crashplan_port=443 | |
# The rate limit. See tc(8) for acceptable syntax. | |
crashplan_limit=2mbit | |
if [ "$1" = "enable" ]; then | |
# | |
# This creates and activates the traffic shaper | |
# configuration. | |
# | |
logger -s -t ratelimit -p user.notice "enabling rate limits" | |
tc qdisc del dev $dev root > /dev/null 2>&1 | |
tc qdisc add dev $dev root handle 1: htb | |
tc class add dev $dev parent 1: classid 1:10 htb rate $crashplan_limit | |
tc filter add dev $dev parent 1: prio 0 protocol ip handle 10 fw flowid 1:10 | |
iptables -t mangle -A OUTPUT -d $crashplan_addr -p tcp --dport $crashplan_port -j MARK --set-mark 10 | |
elif [ "$1" = "disable" ]; then | |
# | |
# This removes the traffic shaper | |
# configuration. | |
# | |
logger -s -t ratelimit -p user.notice "disabling rate limits" | |
tc qdisc del dev $dev root > /dev/null 2>&1 | |
iptables -t mangle -D OUTPUT -d $crashplan_addr -p tcp --dport $crashplan_port -j MARK --set-mark 10 | |
elif [ "$1" = "show" ]; then | |
# | |
# Shows the current traffic shaper configuration. | |
# | |
tc qdisc show dev $dev | |
tc class show dev $dev | |
tc filter show dev $dev | |
iptables -t mangle -vnL OUTPUT | |
fi | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi lars:
I have doubts on this snippet and I have asked a question on serverfault in detailed, Can you explain my doubts?
Thanks.