我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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脚本定时执行任务内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

1.开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走nginx的访问请求。 socket发起请求之后不需要nginx执行交互可以断开了,但是socket这个任务在auction拍卖任务没结束前重启auction就
2022-06-04

jenkins如何实现shell脚本化定时执行任务

这篇文章将为大家详细讲解有关jenkins如何实现shell脚本化定时执行任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走
2023-06-26

centos 设置定时任务执行指定脚本的方法

vim /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs
2022-06-04

Linux Crontab Shell脚本实现秒级定时任务的方法

一、编写Shell脚本crontab.sh#!/bin/bash step=1 #间wdwbCGRQm隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $(php '/home/ww
2022-06-04

shell之定时周期性执行脚本的方法示例

示例1.编写测试脚本脚本 time .sh$ cat time.sh #! /bin/bash echo $(date +%s) >> /home/ocean/out.txt保存完毕后记得给予权限 chmod 777 test.sh2.添
2022-06-04

怎么在shell实现定时周期性执行脚本

这期内容当中小编将会给大家带来有关怎么在shell实现定时周期性执行脚本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。示例1.编写测试脚本脚本 time .sh$ cat time.sh #! /bin/
2023-06-09

hive-shell批量命令执行脚本的实现方法

如下所示:#!/usr/bin/bash HADOOP_HOME="/opt/module/cdh-5.3.6-ha/hadoop-2.5.0-cdh5.3.6" HIVE_HOME='/opt/module/cdh-5.3.6-ha/hi
2022-06-04

shell脚本批量执行指定路径下sql脚本的实现

目录1. 场景描述2. 创建sql3. 创建脚本3.1 方式一3.2 方式二1. 场景描述 linux环境下通过shell脚本批量执行指定目录下所有sql语句,用来建表建库,初始化项目sql等。linux shell在线格式化:https:
2023-02-03

编写shell脚本实现tomcat定时重启的方法

最近我在学生价买的低配服务器上部署了一个很吃内存的网页,导致 tomcat 内存经常溢出而崩溃。于是我上网找了一些教程编写了一个简单的每天定时启动 tomcat 的脚本,特此记录一下我的环境是 centos 7 1、 在某个目录新建一个 .
2022-06-04

PHP命令行脚本能否实现定时任务?

《PHP命令行脚本能用于定时任务吗》教程引言在PHP开发中,我们常常需要编写一些能够自动执行的脚本。这些脚本可能包括定期更新数据库、清理无用的文件、发送电子邮件等。然而,许多开发者发现,使用PHP命令行脚本来执行这些任务并不方便,因为它们缺乏灵活性和可扩
PHP命令行脚本能否实现定时任务?
PHP2024-12-19

linux定时任务crontab 实现每秒执行一次的方法

linux crontab 命令,最小的执行时间是一分钟。如需pTfIaRS要在小于一分钟内重复执行,可以有两个方法实现。 Cron 各项的描述 以下是 crontab 文件的格式:{minute} {hour} {day-of-month
2022-06-04

Android中定时执行任务的3种实现方法(推荐)

在Android开发中,定时执行任务的3种实现方法: 一、采用Handler与线程的sleep(long)方法(不建议使用,Java的实现方式) 二、采用Handler的postDelayed(Runnable, long)方法(最简单的a
2022-06-06

使用Linux shell脚本实现FTP定时执行批量下载指定文件

使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示: 1、目标FTP服务器地址#FTP服务器地址 ip=10.19.15.232、FTP账号和密码 u=账号 p=密码 3、使用mget结合正则表达式下载文件#获取昨天日期,
2022-06-04

PHP定时执行任务的方法是什么

PHP中实现定时执行任务的方法有以下几种:1. 使用cron job:在服务器上设置一个cron job,定时执行一个PHP脚本。可以使用crontab命令来编辑和管理cron job。示例:`* * * * * php /path/to/
2023-08-24

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录