作者in3 (in3)
看板Linux
標題Re: [問題] 如何在特定時間區間中執行不同的指令?
時間Fri Mar 19 09:29:22 2010
※ 引述《chang0206 (Eric Chang)》之銘言:
: 目前利用rsync 來同步大陸和台灣的NAS,總共有將近1T的資料,頻寬是2M
: 為了在上班時間不影響VPN的運作,所以在一般上班時間內,我希望將
: rsync 的速率,保持在50KB 左右,這可以用 rsync --bwlimit 來達到
: 但是到了下班時間、深夜、假日時,我又希望能夠全速跑rsync
: 但是往往前面的rsync 還在執行,是否我只能先刪除既有的rsync process
: 再跑一個新的 200K 速率的rsync script ?
: 還是有其他的方法可以解決呢?
建議你可以綁不同的網卡速度,
直接把網卡速度與rsync綁起來,獨立開來,避免影響其它的頻寬。
(下載) 下載200K:
#!/bin/sh
/sbin/tc qdisc del dev eth0 root 2>/dev/null
/sbin/tc qdisc add dev eth0 root handle 10: htb default 10
/sbin/tc class add dev eth0 parent 10: classid 10:1 htb rate 200kbps
ceil 200kbps
/sbin/tc class add dev eth0 parent 10:1 classid 10:10 htb rate
200kbps ceil 200kbps prio 0
/sbin/tc qdisc add dev eth0 parent 10:10 handle 101: pfifo
/sbin/tc filter add dev eth0 parent 10: protocol ip prio 100 handle
10 fw classid 10:10
/sbin/iptables -F -t mangle
(上傳) 上傳70K:
/sbin/tc qdisc del dev eth1 root 2>/dev/null
/sbin/tc qdisc add dev eth1 root handle 20: htb default 11
/sbin/tc class add dev eth1 parent 20: classid 20:1 htb rate 70kbps
ceil 70kbps
/sbin/tc class add dev eth1 parent 20:1 classid 20:11 htb rate 70kbps
ceil 70kbps prio 0
/sbin/tc qdisc add dev eth1 parent 20:11 handle 101: pfifo
/sbin/tc filter add dev eth1 parent 20: protocol ip prio 100 handle
11 fw classid 20:11
======================================================
要取消的設定的話 (刪除設定檔)
tc qdisc del dev eth1
root
in3
--
為什麼天上的星星像人群一樣擁擠,
又為什麼地上的人們像星星一樣疏離。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.217.97.10
推 chang0206:咦,這倒是一個比較少見的作法,收下參考,謝謝了 03/19 09:40
→ dou0228:不是少見,而是另外一個方案,但是不太好懂 03/19 11:17
→ dou0228:而且這樣一限,等於整台都被限縮 03/19 11:17
推 kadok:需要細部講解.... 03/19 11:38
→ in3:這方式有將網卡獨立開來,應該不會限縮整台主機 03/19 13:34
→ dou0228:這前提建立於 他有兩張以上的網卡 03/19 13:41
推 Adama:用eth0:0不行嗎? 03/19 14:56
→ dou0228:樓上真的有試過?在router上設幾條規則為啥不用勒 03/19 16:12