如何在 Debian Wheezy 中讓腳本在啟動時運作?

如何在 Debian Wheezy 中讓腳本在啟動時運作?

我正在編寫一個腳本,以便在 Debian Wheezy AWS EC2 AMI 啟動時執行一些任務。網路上的消息來源稱,執行此操作的通常方法是安裝將update-rc.d其設定為在啟動時運行所需的符號連結。

但是,當我嘗試這個時,我收到錯誤

$ update-rc.d
-bash: update-rc.d: command not found

這個方法一直對我有用,直到 Debian Squeeze。 Debian 7.0 中執行此操作的標準方法是否發生了變化?我找不到任何解釋如何以官方方式執行此操作的文件。

答案1

看起來您正嘗試update-rc.d以非特權使用者身分使用?由於此工具位於/usr/sbin/您的$PATH.因此,請嘗試以 root 用戶身份運行它或通過sudo update-rc.d.

答案2

您的腳本必須包含 LSB(Linux 標準庫)標頭,指示其依賴性和功能(請參閱https://wiki.debian.org/LSBInitScripts有關 LSB 標頭的更多資訊)。

如果存在 LSB 標頭,您可以使用insserv將腳本包含在開機過程中(請參閱https://wiki.debian.org/LSBInitScripts/DependencyBasedBoot了解更多)。

答案3

建立新的 LSB 腳本並添加的一部分是作為啟動服務,這是一種更標準的方法。

您也可以將任何次要腳本(例如產生報告、清理任務)新增至/etc/init.d/rc.local.

但是請確保 rc.local 存在並啟用到您的運行等級(在 debian 上通常為 3) -find /etc/rc*.d | grep rc.local

相關內容