如何在特定時間區間中執行不同的指令? - Linux

Table of Contents

※ 引述《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

--

為什麼天上的星星像人群一樣擁擠,

又為什麼地上的人們像星星一樣疏離。

--

All Comments

Jake avatarJake2010-03-21
咦,這倒是一個比較少見的作法,收下參考,謝謝了
Carolina Franco avatarCarolina Franco2010-03-25
不是少見,而是另外一個方案,但是不太好懂
而且這樣一限,等於整台都被限縮
Margaret avatarMargaret2010-03-28
需要細部講解....
Agnes avatarAgnes2010-04-01
這方式有將網卡獨立開來,應該不會限縮整台主機
Bethany avatarBethany2010-04-02
這前提建立於 他有兩張以上的網卡
Sierra Rose avatarSierra Rose2010-04-06
用eth0:0不行嗎?
Suhail Hany avatarSuhail Hany2010-04-06
樓上真的有試過?在router上設幾條規則為啥不用勒