jenkins 实现shell脚本化定时执行任务的方法

 更新时间:2022年01月18日 11:16:33   作者:231491319  
这篇文章主要介绍了jenkins 实现shell脚本化定时执行任务,解决访问是jenkins构建好之后将jar远程推送到生产服务器,提前退出后台执行服务器远程脚本,脚本通过ngnx提前切走nginx代理auction sleep 1800s,半小时后执行更新重启,具体操作过程跟随小编一起看看吧

1.开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走nginx的访问请求。

socket发起请求之后不需要nginx执行交互可以断开了,但是socket这个任务在auction拍卖任务没结束前重启auction就会出问题。

解决访问是jenkins构建好之后将jar远程推送到生产服务器,提前退出后台执行服务器远程脚本,脚本通过ngnx提前切走nginx代理auction sleep 1800s,半小时后执行更新重启。

指定构建目录获取同级依赖

#!/bin/bash
 
# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e
 
sed -i 's/server 192.168.0.31:8090/#server 192.168.0.31:8090/g' /home/nginx.proxy/conf/nginx.conf
/home/nginx.proxy/sbin/nginx -s reload
sleep 1800s
 
# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/home/auction
# 判断老的进程是否存在,若存在就杀掉
killjar()
{
    pid=`ps -ef|grep auction |grep java |awk '{print $2}'`
     echo "auction Id list :$pid"
    if [ "$pid" = "" ]
    then
        echo "no auction pid alive"
    else
        kill -9 $pid
    fi
}
 
# 调用函数
killjar
 
# 判断老的jar包是否存在,若存在就删除
[ -f $APP_PATH/auction-1.0-SNAPSHOT.jar ] && \
rm -rf $APP_PATH/auction-1.0-SNAPSHOT.jar
 
# 更新最新的jar包
if [ -f $jar_PATH/auction-1.0-SNAPSHOT.jar ]; then
   mv $jar_PATH/auction-1.0-SNAPSHOT.jar $APP_PATH
fi
 
# 重新启动
cd $APP_PATH
#nohup java -jar -Dspring.config.location=/home/auction/config/application.yml auction-1.0-SNAPSHOT.jar >/dev/null 2>&1&
nohup java -jar auction-1.0-SNAPSHOT.jar >/dev/null 2>&1&
 
# sleep 10秒, 等待java进程完成起来
sleep 5s
 
sed -i 's/#server 192.168.0.31:8090/server 192.168.0.31:8090/g' /home/nginx.proxy/conf/nginx.conf
/home/nginx.proxy/sbin/nginx -s reload
 
echo 'Start success!'

到此这篇关于jenkins 实现shell脚本化定时执行任务的文章就介绍到这了,更多相关jenkins实现shell脚本定时执行任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Linux里awk中split函数的用法小结

    Linux里awk中split函数的用法小结

    The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep
    2013-03-03
  • Shell脚本实现关闭多余的tty终端

    Shell脚本实现关闭多余的tty终端

    这篇文章主要介绍了Shell脚本实现关闭多余的tty终端,本文脚本适用centos6系统,请根据自己的服务器系统情况选择使用,需要的朋友可以参考下
    2014-12-12
  • 如何使用微博自动记录俯卧撑个数

    如何使用微博自动记录俯卧撑个数

    这篇文章主要介绍了如何使用微博自动记录俯卧撑个数 的相关资料,需要的朋友可以参考下
    2016-02-02
  • linux查看nginx安装路径的方法

    linux查看nginx安装路径的方法

    这篇文章主要介绍了linux查看nginx安装路径的方法,文中有相关的代码示例供大家参考,具有很好的参考价值,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-11-11
  • 使用shell脚本来给mysql加索引的方法

    使用shell脚本来给mysql加索引的方法

    今天小编就为大家分享一篇关于使用shell脚本来给mysql加索引的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Shell多线程操作及线程数控制实例

    Shell多线程操作及线程数控制实例

    这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
    2014-07-07
  • 非常实用的23个Shell脚本实例

    非常实用的23个Shell脚本实例

    为大家整理了23个实例,通过23个实战经典脚本实例,可以拿来就用,根据大家的需求可以直接使用,为大家整理了23个实例,希望此文章对各位有所帮助
    2021-06-06
  • Shell自动化配置SSH免密登录和取消SSH免密配置脚本

    Shell自动化配置SSH免密登录和取消SSH免密配置脚本

    本文主要介绍了Shell自动化配置SSH免密登录和取消SSH免密配置脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • win下调用putty执行命令脚本分享

    win下调用putty执行命令脚本分享

    这篇文章主要介绍了win下调用putty执行命令脚本,可以利用这个实现一些自动化的工作,需要的朋友可以参考下
    2014-03-03
  • shell脚本ssh远程执行命令给变量赋值的问题解决

    shell脚本ssh远程执行命令给变量赋值的问题解决

    本文主要介绍了shell脚本ssh远程执行命令给变量赋值的问题解决,就是从A机器通过SSH方式到B机器,并执行相关的命令,具有一定的参考价值,感兴趣的可以了解一下
    2023-07-07

最新评论