0
点赞
收藏
分享

微信扫一扫

Centos自动拉起脚本

新建脚本文件,赋予权限

touch start.sh  
chmod 755 start.sh

编写脚本文件

#!/bin/sh

# 自动监控jar并且在异常时执行重启操作

# 定义java环境变量
export JAVA_HOME=/usr/local/myApp/jdk1.8

# 获取端口号为8711的jar进程ID
# grep -v grep 排除grep命令自带的进程id
# awk '{print $2}' 只保留结果中第二列的值
pid=$(ps -ef |grep 8711|grep -v grep|awk '{print $2}')

# 启动脚本
start=/usr/local/myApp/xxx/bin/start.sh

# 服务链接地址
url=http://192.168.6.179:8711/api/swagger-ui.html

# 监控时的日志输出
log=/tmp/my.log

#linux垃圾回收站
hole=/dev/null

function doIt()
{
  if [ $pid ]
    then
       echo "jar进程ID存在"
       code=$(curl -s -o $hole -m 10 --connect-timeout 10 $url -w %{http_code}"\n") #测试链接是否可以正常访问
       if [ $code -eq 200 ]
         then
           echo "测试链接正常"
       else
          echo "测试链接失败,重启jar"
          kill -9 $pid  # 杀掉进程
          sleep 5
          $start
     fi
  else
    echo "jar进程id不存在,重启中...."
    $start
  fi
  echo "------------------------------"
}
 
doIt>>$log #执行函数,并打印日志

设置定时执行start.sh文件

命令行输入crontab -e会自动打开一个空文件, 输入定时处理的任务:

#需要定时重启docker容器
#查看容器id: docker ps|grep netty
#yw-netty
0 2 * * * docker restart 234234234
#saas-yw-netty
0 2 * * * docker restart 4645645656

保存后,在/var/spool/cron/下面查看创建的定时任务。

添加内容:

启动定时任务

service crond start   #启动定时任务
 
service crond status  #查看状态
 
service crond restart #重启定时任务
 
service crond stop    #停止定时任务

查看定时任务执行情况

开机启动

有时需要开机自动启动一些服务,可以通过以下方式实现:

添加启动脚本

#!/bin/bash
# description:开机自启脚本
/home/work-event/work-event-1.0-SNAPSHOT/start.sh

添加脚本可执行权限

打开/etc/rc.d/rc.local文件,在末尾增加如下内容

在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限

举报

相关推荐

0 条评论