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版权协议,转载请附上原文出处链接和本声明。