将bash脚本附加到apachestart

将bash脚本附加到apachestart,apache,bash,Apache,Bash,我有一个bash脚本,我想在apache启动或重新启动之前执行它 我希望在启动过程中apache启动时以及手动运行“/etc/init.d/apache2 restart/start”时执行bash脚本 有一个init.d脚本“/etc/init.d/apache2”,但我不想碰那个文件 谷歌没有什么帮助:)因为/etc/init.d/apache2的编写方式,你不能通过将你的脚本放在apache2ctl路径中的前面来劫持它,而在更新过程中修改或重命名/usr/sbin/apache2ctl更可

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

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

有一个init.d脚本“/etc/init.d/apache2”,但我不想碰那个文件


谷歌没有什么帮助:)

因为
/etc/init.d/apache2
的编写方式,你不能通过将你的脚本放在
apache2ctl
路径中的
前面来劫持它,而在更新过程中修改或重命名
/usr/sbin/apache2ctl
更可能会被撤销。因此,您可以选择修改
/etc/init.d/apache2
或magic


这可能是一种神奇的方式,即在适当的
/etc/rc?.d
目录中创建一个指向脚本的符号链接,并使用适当的前缀使其在Apache之前运行。例如,在我的系统上,名称可能是
S88scriptname
。您可以为每个运行级别分别创建这些链接并手动管理它们,或者在支持它的Debian和Ubuntu等系统上,您可以在
/etc/init.d/skeleton
之后对脚本进行建模,并在中适当地设置选项(特别是
X-Start-Before
关键字)和用于为您管理
rc?.d
符号链接。

由于
/etc/init.d/apache2
的编写方式,您不能通过将脚本放在
路径
中的
apache2ctl
之前,并在更新过程中修改或重命名
/usr/sbin/apache2ctl
来劫持它。因此,您可以选择修改
/etc/init.d/apache2
或magic


这可能是一种神奇的方式,即在适当的
/etc/rc?.d
目录中创建一个指向脚本的符号链接,并使用适当的前缀使其在Apache之前运行。例如,在我的系统上,名称可能是
S88scriptname
。您可以为每个运行级别分别创建这些链接并手动管理它们,或者在支持它的Debian和Ubuntu等系统上,您可以在
/etc/init.d/skeleton
之后对脚本进行建模,并在中适当地设置选项(特别是
X-Start-Before
关键字)并用于为您管理
rc?.d
符号链接。

老实说,更改“/etc/init.d/apache2”正是我将采取的方法。你为什么不想碰那个文件?@Ben Lee:我的理由是Apache更新可能会覆盖那个文件。老实说,更改“/etc/init.d/apache2”正是我会采取的方法。你为什么不想碰那个文件?@Ben Lee:我的理由是Apache更新可能会覆盖那个文件。