赞
踩
配置config.ini:
#进程名|部署路径(启动路径)|启动命令
./redis-server 127.0.0.1:6379|/root|/root/redis/start.sh
脚本主体:
- #!/bin/bash
- #. ~/.bash_profile
- #################配置#####################
- #监控的用户
- login_user=ddxx
- #配置文件路径
- file_config_path=./config.ini
- #################配置#####################
-
- #统计
- proc_count(){
- file_conf=$1
- if [ -f "$file_conf" ];then
- cat $file_conf |grep -v ^# | grep -v "^$" | while read line
- do
- proc_flag=`echo $line | awk -F '|' '{print $1}'`
- proc_path=`echo $line | awk -F '|' '{print $2}'`
- proc_cmd=`echo $line | awk -F '|' '{print $3}'`
- #调用统计进程函数,参数中有空格,一定要双眼号
- process_num=`ps -fu $login_user | grep "$proc_flag" | grep -v grep | wc -l`
- echo $proc_flag"进程数为:"$process_num
- if [ $process_num -ge 1 ];then
- echo $proc_flag"进程存在!!!"
- else
- echo $proc_flag"进程不存在,进程异常,启动进程!!!"
- #执行命令
- cd $proc_path;$proc_cmd
- fi
- done
- else
- echo "$file_conf"配置文件不存在
- fi
- }
-
-
-
- #检查是否已有脚本在运行,避免进程卡死
- self_num=`ps -fu $login_user | grep monitor_moddleware.sh(自身脚本名称) | grep -v grep | wc -l`
- echo $self_num
- if [ $self_num -gt 5 ];then
- echo "已有脚本在运行"
- exit
- else
- echo "继续执行脚本"
- proc_count $file_config_path
- fi
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。