Ubuntu

新貴腳本:聯網後執行任務

  • October 23, 2012

我正在努力將我目前的伺服器設置遷移到更新的硬體,並從 ubuntu karmic koala 遷移到 lucid lynx。目前我正在使用 gw6c(從 gogo6 網站編譯,而不是來自儲存庫的版本)來獲取我的系統的 ipv6 訪問權限。在 karmic koala 系統上,我使用簡單的 init.d 腳本來啟動 ipv6 客戶端

#! /bin/sh
/usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf

我想既然它在任何執行級別執行,它應該轉換為

respawn
console none

start on startup

stop on shutdown

script
exec /usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf
emit free6_ipv6_started
end script

這從 initctrl 開始工作正常,但它在啟動時顯然無法啟動。- 它的狀態是停止/等待。以其他方式開始時它工作正常(並重生)。關於我哪裡出錯的任何想法,以及合適的“開始”爭論是什麼?

編輯:確切的錯誤是’init:gw6c主程序(xxx)以狀態8結束’,然後是程序重生,xxx是我懷疑的PID。我也有一半懷疑這是因為 gw6c 在聯網之前啟動,我需要在 gw6c 之前啟動我的 eth0

顯然

respawn
console none

start on (local-filesystems and net-device-up IFACE!=lo)
stop on [!12345]

script
chdir /usr/local/gw6c/bin/

exec /usr/local/gw6c/bin/gw6c 
end script

似乎工作

將開始 gw6c 的腳本放在

/etc/network/if-up.d

該文件夾中的所有腳本都會在界面出現後執行。如果您只希望它在 eth0 出現時執行,請編輯 eth0 條目

/etc/network/interfaces

並添加對腳本的呼叫

iface eth0 inet dhcp
 up /etc/init.d/gw6c restart

我還建議在介面離線之前添加預關閉腳本以關閉隧道。

一旦你這樣做並找到一個可行的實現,把它發回這里以便我可以使用它。我的筆記型電腦上有 gw6c,但到目前為止我一直懶得讓它自動化。

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