Apache2在Ubuntu上重启后运行bash脚本

时间:2016-11-10 18:39:06

标签: bash apache ubuntu ubuntu-16.04

我使用Ubuntu 16.04。

我想添加一个在Apache2重新启动并运行命令行(bash)后调用的钩子。

例如

php artisan queue:work --queue=high

想法?

1 个答案:

答案 0 :(得分:0)

虽然不理想,因为它绝不是“钩子”...你可以写一个脚本来检查apache程序的状态并切换一个“switch”变量。

VectorAssembler

所以我们有一个#!/bin/bash s=0; while true; do /etc/init.d/apache2 status > /dev/null; if [ $? -eq "0" ] && [ ! "${s}" -eq $? ]; then # Do whatever you want to do when apache first starts running. fi s=$? done 女巫。我们在apache2上检查s的返回码。 0似乎是在运行时,如果没有运行则不是0(3)。

如果您不知道,

status将返回上次运行命令的状态代码。

$?如果apache正在运行,但是我们最后一次检查它没有运行,它刚刚启动!让我们做点工作。

if [ $? -eq "0" ] && [ ! "${s}" -eq $? ];此行将切换设置为最后一个状态代码...意味着下一个循环s=$?实际上将$s,因此循环将无法运行。

我强烈建议您添加eq $?或者在apache启动和运行程序之间的任何可接受的延迟。