首页 > 其他分享 >Q:jar包启动脚本备份

Q:jar包启动脚本备份

时间:2023-07-20 19:34:46浏览次数:38  
标签:脚本 psid NAME stop 备份 jar echo start APP

jarServer.sh

#!/bin/bash
#APP_NAME必须配置。 

cd `dirname $0`
cd ..
DEPLOY_DIR=`pwd`
APP_HOME=$DEPLOY_DIR/lib
LOG_FILE=$DEPLOY_DIR/logs/stdin.out
#启动的程序名称
APP_NAME=digmax-ta404.jar

# 配置文件生产环境
#PROFILE=pro
#java虚拟机启动参数
JAVA_OPTS="-Xms1024m -Xmx2048m -Dlog4j2.formatMsgNoLookups=true -Dfastjson.parser.safeMode=true -Doracle.jdbc.fanEnabled=false -DMY_PASSWORD=Yhpt1qaz "

#**************************
#(函数)判断程序是否已启动
#初始化psid变量
#****************************
psid=0
checkpid() {
 JPID=$(ps -ef | grep "$APP_HOME/$APP_NAME" | grep -v grep | awk '{ print $2 }')
   if [ -z "$JPID" ]
   then
   psid=0
   else
   psid=$JPID
   fi
}  

#**************************
#启动程序
#****************************
start() {
checkpid
echo -n "Starting $APP_NAME ..."
nohup java -jar $JAVA_OPTS $APP_HOME/$APP_NAME > $LOG_FILE 2>&1 &
while [ $psid -lt 1 ]; do
 echo -e ".\c"
 sleep 1
 checkpid
 if [  $psid -gt 0  ]; then
       echo -e "\n$APP_NAME already started! (pid=$psid)"
       break
 fi
 done
}
#*****************************
#停止程序
#*****************************

stop() {
  checkpid
  if [ $psid -ne 0 ]; then
  echo -n "Stopping $APP_NAME ...(pid=$psid) "
  kill -9  $psid
  if [ $? -eq 0 ]; then
        echo "[OK]"
  else
    echo "[Failed]"
  fi
  checkpid
  if [ $psid -ne 0 ]; then  
        stop    
  fi
  else
    echo "$APP_NAME is not running"
  fi
}

#****************************
#检查程序运行状态
#****************************

status() {  
   checkpid
   if [ $psid -ne 0 ];  then  
      echo "$APP_NAME is running! (pid=$psid)" 
   else  
      echo "$APP_NAME is not running"  
   fi 
}

log(){
  tail -500f $LOG_FILE
}

#参数取值示例:{start|stop|restart|status}  
case "$1" in
'start')
    start
    ;;
'stop')
    stop
    ;;
'restart')
    stop
    sleep 1
    start
    ;;
'status')
    status
    ;;
'log')
    log
    ;;
 *)
    echo "Usage: $0 {start|stop|restart|status|log}"
    exit 1
esac
exit 0
us() {  
   checkpid  
  
   if [ $psid -ne 0 ];  then  
      echo "$APP_NAME is running! (pid=$psid)"  
   else  
      echo "$APP_NAME is not running"  
   fi  
}  

#********************************
#检查脚本的第二个参数($2),是否添加了额外的JVM参数
#读取脚本的第一个参数($1),进行判断  
#参数取值示例:{start|stop|restart|status}  
###################################  
case "$1" in
   'start')
      start
      ;;
   'stop')
     stop
     ;;
   'restart')
     stop
     start
     ;;
   'status')
     status
     ;;
  *)
     echo "Usage: $0 {start|stop|restart|status}"
     exit 1
esac
exit 0

 

标签:脚本,psid,NAME,stop,备份,jar,echo,start,APP
From: https://www.cnblogs.com/wxp100/p/17569441.html

相关文章

  • datagrip的脚本扩展
    今天偶然發現datagrip有腳本擴展,位置在schema下創建文件爲xxx.groovy,執行的時候選擇庫或者表選擇後面進行執行,自帶了一個數據庫表轉換爲pojo的腳本,可以選擇多個表,但是不能直接選擇數據庫哦......
  • mysql ZIDONG备份
    MySQL自动备份流程为了确保数据库的安全和可靠性,我们需要定期对MySQL数据库进行备份。为了减少人工操作,我们可以通过编写脚本实现自动备份。下面是MySQL自动备份的流程:步骤描述1连接到MySQL数据库2创建备份文件夹3执行备份命令4关闭MySQL连接下面将详......
  • 【我和openGauss的故事】openGauss逻辑备份恢复
    【我和openGauss的故事】openGauss逻辑备份恢复zhouwhui2023-07-1418:50发表于openGauss公众号逻辑备份恢复一、小数据集导入导出1.copy或\copy可以将文本数据作为数据源导入到数据表中,也可以将数据表或查询结果导出到指定的文件中。2.copy与\copy的区别(1)copy属于SQL命......
  • 用Python脚本自动采集金融网站当天发布的免费报告
    大家好,我是皮皮。一、前言前几天在Python群【林生】问了一个Python数据采集的问题,需求如下:想写一个脚本能自动采集下载当天发布的这个页面的这几个免费报告,能保存成这个标题的pdf文件,网站是手机号注册就能下载这些文件的,就是在我注册登录状态下,能采集下载。二、实现过程一开......
  • [学习笔记]SQL server完全备份指南
    目录方式一,使用SQLServerManagementStudio准备工作收缩数据库移动数据库数据库备份还原数据库方式二,使用命令行工具准备工作收缩数据库移动数据库备份数据库还原数据库本文将介绍如何在日常项目中,对SQLserver数据库做备份和还原工作,SQLserver的备份......
  • python subprocess 脚本
    实现Pythonsubprocess脚本的步骤1.了解subprocess模块在Python中,subprocess模块用于创建子进程并与其进行通信。它提供了一种执行命令行命令的方式,并允许我们捕获其输出和错误。2.导入subprocess模块在代码的开头,需要导入subprocess模块,以便可以使用其中的相关功能。在Pytho......
  • python爬取网页图片脚本
    使用python编写网页图片的爬取脚本环境搭建:首先搭建一个web服务器安装phpstudy访问phpstudy的IP显示探针即为搭建成功把网站放到phpstudy的默认目录WWW下,给默认文件l.php修改名字访问网页即可看到spider网页,页面内有图片编写图片爬取到本地的python脚本通过python脚......
  • postgresql-备份恢复
    1、逻辑备份恢复pg_dump/pg_restore命令备份恢复对数据库或表备份恢复##备份指定的数据库test$pg_dump-Upostgres-W-h192.168.3.122-p1921test>/pgdata/dumpbak/test.sql##备份指定库中的某个表t1$pg_dump-Upostgres-W-h192.168.3.122-p1921test......
  • 使用管理员身份运行python脚本
    使用管理员身份运行Python脚本在某些情况下,我们可能需要以管理员身份运行Python脚本。管理员权限允许我们执行一些需要特权的操作,例如修改系统文件或者安装软件。本文将介绍在不同的操作系统中如何以管理员身份运行Python脚本,并提供相应的代码示例。Windows系统在Windows系统中,......
  • shell脚本中对数组的操作汇总
    方法用例备注创建数组arr=(val_1val_2val_3)数组间的元素以空格分割。创建空数组arr_new=()访问数组arr=(val_1val_2val_3)echo"${arr[0]}"数组的索引从“0”开始,在这个例子中,脚本会输出“val_1”。访问数组的长度arr=(val_1val_2val_3)e......