监控正在运行的Apache(CSH)

概述

我想创建一个脚本来监控CSH中Apache是否已经启动。

预先准备任务

需要在树莓派(Linux)上安装以下软件包。

■软件包
· csh安装命令
sudo apt-get install csh -y

・Apache安装命令
使用sudo apt install apache2 -y

■ Apache的启动命令
您可以使用以下命令进行启动和停止。
sudo apachectl停止
sudo apachectl启动
sudo apachectl重新启动
sudo systemctl启动apache2
sudo systemctl停止apache2
sudo systemctl重新启动apache2

检查Apache进程的命令是:
ps aux|grep apache|grep root
※可以使用grep apache或grep httpd进行确认。

CSH源代码

将以下源代码保存到run.sh。

#!/bin/csh -f
# APACHEの起動されている内容をPSコマンドから確認します。
set PSRUN=`ps -ef | grep apache|grep root > ./PS`

# PS結果からAPACHEの文字列を取得するための処理です。
set PSX = `cat ./PS | awk 'BEGIN{FS="sbin/"}{print $2}'|awk 'BEGIN{FS=" -k"}{print $1}'`

# PSの内容を出力します。起動されていない場合は、非表示になります。
cat ./PS

# 作業ファイルを削除します。
rm -rf ./PS

# apache2の文字列の比較です。OSによってhttpdの場合もあります。
if ( "$PSX" == "apache2" ) then
echo "APACHEが起動されている。"
endif

if ( "$PSX" == "" ) then
echo "APACHEが起動されていない。"
sudo systemctl start apache2
endif

执行结果

使用以下命令执行上述的CSH文件。

# `Apacheが軌道中の場合、表示されるメッセージ
pi@raspberrypi:~/work/php $ csh run.sh
root      2700     1  0 23:30 ?        00:00:00 /usr/sbin/apache2 -k start
APACHEが起動されている。

# Apacheの停止コマンドを実行
pi@raspberrypi:~/work/php $ sudo systemctl stop apache2

# Apacheが起動されていない
pi@raspberrypi:~/work/php $ ps aux |grep apache
pi        3002  0.0  0.1   5972   568 pts/1    S+   23:43   0:00 grep --color=auto apache

# Apacheが起動されていない場合、表示されるメッセージ
pi@raspberrypi:~/work/php $ csh run.sh
APACHEが起動されていない。
※この後で「sudo systemctl start apache2」コマンドで起動される

# Apacheの起動されていることを確認コマンド
pi@raspberrypi:~/work/php $ ps aux|grep apache
root      3025  0.5  3.4 192112 15128 ?        Ss   23:46   0:00 /usr/sbin/apache2 -k start
www-data  3029  0.0  1.0 192144  4680 ?        S    23:46   0:00 /usr/sbin/apache2 -k start
www-data  3030  0.0  1.0 192144  4680 ?        S    23:46   0:00 /usr/sbin/apache2 -k start
www-data  3031  0.0  1.0 192144  4680 ?        S    23:46   0:00 /usr/sbin/apache2 -k start
www-data  3032  0.0  1.0 192144  4680 ?        S    23:46   0:00 /usr/sbin/apache2 -k start
www-data  3033  0.0  1.0 192144  4680 ?        S    23:46   0:00 /usr/sbin/apache2 -k start
pi        3035  0.0  0.1   5972   592 pts/1    S+   23:46   0:00 grep --color=auto apache

结束

创建监视Apache是否启动的脚本的原因是,当Apache停止时可以自动启动它。
如果存在Apache配置文件的问题,它可能无法正常启动。
以下是脚本,您只需将其设置为变量并使用即可,但由于在控制台上无法正常运行,所以更改为文件输出。
设置PSRUN=ps -ef | grep apache|grep root > ./PS时,出现以下错误消息并中断处理。
^^;;

pi@raspberrypi:~/work/php $ csh run.sh
echo: No match.

谢谢您一直阅读到这里。

广告
将在 10 秒后关闭
bannerAds