zoukankan      html  css  js  c++  java
  • windows上bat脚本一键,打包,传输到linux服务器,运行

    安装pscp和plink

    https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

    后台部署 - 打包上传并远程调用启动脚本

    bat脚本

    @echo off
    rem 打印的中文不乱码,默认是gbk,改为utf8
    chcp 65001
    rem 拷贝的文件名称
    set name=zhong-eureka
    rem 拷贝文件完整路径
    set folder=E:gitzhong\%name%	arget\%name%.jar
    rem 服务器IP
    set ip=192.168.1.107
    rem 服务器密码
    set password=123456
    echo "打包.."
    e:
    cd E:gitzhong%name%
    call mvn clean install -Dmaven.test.skip=true
    echo "传输到linux服务器home目录下..."
    pscp -pw %password% %folder% root@%ip%:/home/
    echo "启动,远程调用linux服务器上的sh脚本..."
    plink -batch -pw %password% root@%ip% /home/%name%.sh
    @cmd.exe
    exist

    linux的sh脚本

    #!/bin/sh
    #该文件必须放在jar包的目录下,因为是以相对路径来运行的。不放jar包目录的话,可以直接在jar_name参数写绝对路径
    #start 设置三个参数 
    #环境
    profile=
    #jar的路径和名称
    jar_name=/home/zhong-eureka.jar
    #远程断点端口
    remote_address=
    #end 设置三个参数
    echo "运行$jar_name"
    #查询进程,并杀掉当前jar/java进程
    pid=`ps -ef|grep $jar_name|grep -v grep|awk '{print $2}'`
    echo "进程为$pid"
    kill -9 $pid
    echo "$pid进程终止成功"
    sleep 2
    source /etc/profile
    #判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
    if test -e $jar_name
    then
    echo "$jar_name存在,开始启动此程序..."
        # 判断是否有远程断点端口
        if test -z "$remote_address"
        then
          # 启动jar包
          nohup java -Xms64m -Xmx128m -jar $jar_name >/dev/null 2>&1 &
          echo "远程断点端口为空"
        else  
          # 启动jar包
          nohup java -Xms64m -Xmx128m -jar $jar_name >/dev/null 2>&1 &
          echo "远程断点端口为$remote_address"
        fi
    echo "$jar_name 启动成功..."
    pid=`ps -ef|grep $jar_name|grep -v grep|awk '{print $2}'`
    echo "新进程为$pid"
    else
    echo "$jar_name 文件不存在,请检查。"
    fi

    ---------------------------------------------------------------------

    前端部署 - 打包并上传

    @echo off
    chcp 65001
    rem 拷贝文件完整路径
    set folder=E:gitzhong-webzhong-shop-ownerdist
    
    echo "打包.."
    e:
    cd E:gitzhong-webzhong-shop-owner
    call npm run build
    
    echo "上传到服务器"
    pscp -pw 123456 -r %folder% root@192.168.1.107:/home/project/
    
    @cmd.exe
    exist
  • 相关阅读:
    MYSQL数据丢失讨论【转】
    MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
    MySQL Binlog 【ROW】和【STATEMENT】选择
    MySQL open_files_limit相关设置
    Python颜色输出和random的学习
    Python 之 【二进制、十进制、八进制、十六进制 】之间的转换【转】
    初识 MySQL 5.5 新功能、参数
    Oracle Inventory关键词解释
    plsql 输出当月的所有日期
    ORA29279: SMTP permanent error: 550 XXX@XX.com... No such user
  • 原文地址:https://www.cnblogs.com/suruozhong/p/12100535.html
Copyright © 2011-2022 走看看