将bash脚本附加到apache start

时间:2010-10-26 17:49:13

标签: apache bash

我有一个bash脚本,我想在apache启动或重启之前执行。

我希望在启动过程中启动apache时以及手动运行“/etc/init.d/apache2 restart / start”时执行bash脚本。

有一个init.d脚本“/etc/init.d/apache2”,但我宁愿不触摸该文件。

Google不是很有帮助:)

1 个答案:

答案 0 :(得分:0)

由于编写/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符号链接。