#!/bin/bash
PROCESS=“nginx” #此处为要监控的进程
START_PROCESS=“nginx” #此处为启动进程方式
LOG_FILE="/var/log/error.log"
#该脚本实现一分钟监控一次,如果服务挂掉自动重启,并记录到"/var/log/error.log"
TIME=$(date “+%Y-%m-%d %H:%M:%S”)
while true
do
pnginx=ps -ef | grep $PROCESS | grep -v "grep" | wc -l
if [
p
n
g
i
n
x
−
e
q
0
]
;
t
h
e
n
e
c
h
o
"
pnginx -eq 0 ]; then echo "
pnginx−eq0];thenecho"TIME 系统检测到nginx,已挂掉,启动中… " >> $LOG_FILE
S
T
A
R
T
P
R
O
C
E
S
S
e
c
h
o
"
START_PROCESS echo "
STARTPROCESSecho"TIME nginx启动完成" >>
L
O
G
F
I
L
E
e
l
s
e
e
c
h
o
"
LOG_FILE else echo "
LOGFILEelseecho"curtime 系统检测到nginx运行正常" >> $LOG_FILE
fi
sleep 60
done