OpenWrt中的熱拔插Hotplug.d中的腳本

轉自:


Hotplug,直譯就是熱插拔。在OpenWrt中,無論何時一個設備從系統中增刪,都產生一個“熱插拔事件”。


每次網絡接口啓動(up)或者關閉(down)的時候,所有在/etc/hotplug.d/iface/目錄中的腳本都會以字母順序執行。根據一個不成文的規則,會在每個腳本的前面加上一個數字前綴來設置正確的運行順序。這就是爲什麼腳本名稱都像:/etc/hotplug.d/iface/<nn>-<scriptname>的原因。

在iface hotplug腳本中有三個主要的環境變量:

變量名稱 描述
ACTION "ifup" 或者 "ifdown"
INTERFACE 網絡接口的名稱,如"wan"
DEVICE 物理設備的名稱,如"br-lan"
利用hotplug腳本可以在網絡接口啓動或關閉時執行相應的動作,比如可以在wan口啓動時獲取外網IP:

#!/bin/sh
[ "$ACTION" = ifup ] || exit 0
[ "$INTERFACE" = wan ] || exit 0
ip=$(ifconfig pppoe-wan | grep inet | awk '{print $2}' | cut -c 6-)
logger $ip
保存爲/etc/hotplug.d/iface/99-getip,配合DDNS就可以從外網訪問路由器了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章