【问题标题】:Attach bash script to apache start将 bash 脚本附加到 apache 启动
【发布时间】:2010-10-26 17:49:13
【问题描述】:

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

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

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

谷歌不是很有帮助:)

【问题讨论】:

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

标签: apache bash


【解决方案1】:

由于/etc/init.d/apache2 的编写方式,您无法通过将脚本放在PATH 中的apache2ctl 之前来劫持它,并且修改或重命名/usr/sbin/apache2ctl 更有可能在更新期间被撤消.因此,您可以选择修改 /etc/init.d/apache2 或魔法。

魔法可能来自于在适当的/etc/rc?.d 目录中创建指向脚本的符号链接,并带有适当的前缀,这将导致它在 Apache 之前运行。例如,在我的系统上,名称可能是 S88scriptname。您可以为每个运行级别单独创建这些链接并手动管理它们,或者在支持它的 Debian 和 Ubuntu 等系统上,您可以在 /etc/init.d/skeleton 之后为您的脚本建模并适当地设置 LSB header 中的选项(尤其是 @987654331 @ 关键字,也许)并使用 update-rc.d 为您管理 rc?.d 符号链接。

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 2017-08-16
    • 1970-01-01
    • 2019-12-11
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多