我有一個bash腳本,我想在apache啓動或重新啓動之前執行。將bash腳本附加到apache start
我希望我的bash腳本在啓動過程中啓動apache時以及手動運行「/etc/init.d/apache2 restart/start」時執行。
有一個init.d腳本「/etc/init.d/apache2」,但我寧願不碰那個文件。
谷歌是不是非常有幫助:)
我有一個bash腳本,我想在apache啓動或重新啓動之前執行。將bash腳本附加到apache start
我希望我的bash腳本在啓動過程中啓動apache時以及手動運行「/etc/init.d/apache2 restart/start」時執行。
有一個init.d腳本「/etc/init.d/apache2」,但我寧願不碰那個文件。
谷歌是不是非常有幫助:)
的因爲/etc/init.d/apache2
寫,你不能把你的腳本提前apache2ctl
在PATH
並修改或重新命名/usr/sbin/apache2ctl
會更容易得到劫持的方式在更新期間撤消。因此,您可以選擇修改/etc/init.d/apache2
或魔術。
這可能是因爲魔術的形式是通過適當的前綴在適當的/etc/rc?.d
目錄中爲您的腳本創建符號鏈接,這會導致它在Apache之前運行。例如,在我的系統中,名稱可能是S88scriptname
。您可以爲每個運行級別單獨創建這些鏈接並手動管理它們,或者在支持它的系統(如Debian和Ubuntu)上,可以在/etc/init.d/skeleton
之後爲腳本建模,並適當設置LSB header中的選項(尤其是X-Start-Before
關鍵字)使用update-rc.d
來管理符號鏈接rc?.d
。
老實說,更改「/etc/init.d/apache2」正是我要採取的方法。你爲什麼不想碰那個文件? – 2010-10-26 17:53:34
@Ben Lee:我的推理是Apache更新可能會覆蓋該文件。 – koen 2010-10-26 18:01:41