Debian
如何確保在網路介面通過 DHCP 收到地址後執行 init.d 腳本?
我剛剛在 debian5 系統上安裝了 couchdb,並向 /etc/init.d/couchdb-script 添加了符號連結。不幸的是,在網路介面通過 DHCP 接收到 couchdb-server 嘗試綁定的地址之前,該腳本在啟動時被觸發 - 這使實例失效。
我通過在啟動腳本中執行dhclient解決了這個問題,但必須有更好的方法……?有沒有?
是的,有一個更好的方法:放置你的 couchdb 初始化腳本,
/etc/network/if-up.d/
這樣它就會在你的網路建立後執行。注意:
Filenames should consist entirely of upper and lower case letters, digits, underscores, and hyphens. Subdirectories of directory and files with other names will be silently ignored.
在 CentOS 和可能的 RedHat 上,它會檢查是否有文件
/sbin/ifup-local
,如果可用,就會執行該文件。創建它:
sudo touch /sbin/ifup-local sudo chmod +x /sbin/ifup-local
然後編輯它以包含您想要的內容
#!/bin/sh # your commands or calls to your script here
希望有幫助。我更喜歡 Debian 的
.d
目錄,但這似乎是 CentOS 上最接近的等價物。