Linux 脚本实现开机启动,监控程序挂掉自行重启

Linux 脚本实现开机启动,监控程序挂掉自行重启
一)编写脚本文件,自行命名.sh
export 要写自己的环境路径
nohup 后面的命令可以自己拿出来单独试一下再贴进去

#!/bin/sh                          
#chkconfig: 35 20 80               
#description: http server
#sh restart.sh start

export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

nohup redis-server >/opt/log/redis.log 2>&1 &
nohup java -jar /opt/buildoa.jar >/opt/log/main.log 2>&1 &
nohup /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

while true 
do
    java_procnum=`ps -ef|grep "java"|grep -v grep|wc -l`
    mysql_procnum=`ps -ef|grep "mysqld"|grep -v grep|wc -l`
    redis_procnum=`ps -ef|grep "redis"|grep -v grep|wc -l`
    if [ $java_procnum -eq 0 ]
    then
        echo "start buildoa.jar..."
        nohup java -jar /opt/buildoa.jar >/opt/log/main.log 2>&1 &
    elif [ $mysql_procnum -eq 0 ]
	then 
		echo "start mysql..."
		systemctl start mysqld >> /opt/log/mysql.log 2>&1	&
    elif [ $redis_procnum -eq 0 ]
	then 
		echo "start redis..."
		redis-server >> /opt/log/reids.log 2>&1	&
	fi
		sleep 30 #每30秒检查一轮
done

然后将这个文件的路径放到
/etc/rc.d/rc.local文件中
找到这个文件,vi rc.local ,在里面加入路径

不采用把路径加到rc.local的方式,也可以通过chkconfig命令的方式设置开启

chkconfig --add 自己写的脚本.sh
chkconfig 自己写的脚本.sh on

关闭以及其它指令

chkconfig test.sh off
chkconfig --del test.sh
chkconfig --list test.sh

版权声明:本文为weixin_43752632原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。