Debian

如何確保在網路介面通過 DHCP 收到地址後執行 init.d 腳本?

  • August 22, 2013

我剛剛在 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 上最接近的等價物。

引用自:https://serverfault.com/questions/182133