centos简单监控,服务down机后自动重启

博客介绍了一系列脚本及crontab监控。crontab每分钟扫描一次,process.sh查看服务进程数,无进程时启动服务,git_deploy.sh更新代码并执行发布脚本,还提及deploy.sh、stop.sh、start.sh、killprocess.sh等脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.crontab监控

1分钟扫描一次

*/1 * * * * source /etc/profile && sh /data/shell/monitor/process.sh >> /var/log/process.log
2.process.sh

原理:查看服务进程数,查不到进程时,启动服务

#!/bin/sh
ctime=`date +%Y-%m-%d\ %H:%S:%S`
server_name=hechaojie
server_dir=/data/$server_name/tomcat
echo $ctime' 监听服务运行状态,'$server_name
function checkserver(){
    count=`ps -ef |grep $2 |grep -v "grep" |wc -l`
    echo '服务数:'$count
    if [ 0 == $count ];then
        echo $1'已停止,正在启动...'
    #source /data/shell/killprocess.sh $1
        echo '启动完毕,3s启动server'
        sleep 3
        source /data/$1/deploy/git_deploy.sh
        count=`ps -ef |grep $2 |grep -v "grep" |wc -l`
    echo '启动完成,服务数:'$count
    fi
    return $count
}
3.git_deploy.sh

更新代码并执行发布脚本

#!/bin/sh
cd /data/svntmp/hechaojie
git pull
ant
cp target/*.war /data/hechaojie
source /etc/profile && sh /data/hechaojie/deploy/deploy.sh
4.deploy.sh
#!/bin/sh
NAME=hechaojie
TIME=`date +%Y%m%d%H%M%S`
PRO_HOME=/data/${NAME}
cd $PRO_HOME
echo '调用停止tomcat脚本'
source deploy/stop.sh
echo '调用结束'
rm -rf run/*
unzip -o  *.war -d run/

cp ./run/WEB-INF/classes/env/www.properties ./run/WEB-INF/classes/env/local.properties
cp ./run/WEB-INF/classes/config-www.properties ./run/WEB-INF/classes/config.properties
cp /data/hechaojie/replace/_include.html /data/hechaojie/run/WEB-INF/views/common/_include.html
echo '调用启动脚本...'
source deploy/start.sh
echo '调用结束'

cp ${NAME}*.war ./bak/${NAME}${TIME}.war

rm -rf /data/${NAME}/run/ueditor
ln -s /data/${NAME}/ueditor /data/${NAME}/run
5.stop.sh
#!/bin/sh
source /data/shell/killprocess.sh hechaojie
6.start.sh
#/bin/sh
echo '正在准备启动tomcat...'
set -m
WEB_HOME=/data/hechaojie
sh ${WEB_HOME}/tomcat/bin/catalina.sh start
echo '启动tomcat完毕!'
7.killprocess.sh
#!/bin/sh

NAME=$1
echo $NAME
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值