首页 > 技术文章 > shell脚本与bat转换

carlvine 2020-04-09 19:06 原文

原shell脚本:

#!/bin/bash
remote_user="root"
remote_ip="10.138.60.76"
jar_file="vts-cbs-contract.jar"
local_path="vts-cbs-contract/target"
remote_path="/home/REQ501"
release_path="$remote_path"
backup_path="$remote_path/backup"

JAVA_PATH="/home/liuwentao/jdk-11.0.2/bin"
APP_PARAM="--spring.profiles.active=sit"

ssh $remote_user@$remote_ip "ps -ef | grep $jar_file | grep -v grep | cut -c 9-15"

if [ $? -eq 0 ]; then
ssh $remote_user@$remote_ip "mv $release_path/$jar_file $backup_path/$jar_file.`date +%Y-%m-%d-%k-%M`"
fi

if [ $? -eq 0 ]; then
scp $local_path/$jar_file $remote_user@$remote_ip:$release_path/
fi

if [ $? -eq 0 ]; then
ssh $remote_user@$remote_ip "cd $release_path ; $JAVA_PATH/java -jar $jar_file $APP_PARAM > $remote_path/out.log 2>&1 &"
fi

if [ $? = 0 ]; then
sleep 30
ssh $remote_user@$remote_ip "tail -n 50 $remote_path/out.log"
fi

 

 

对应的bat脚本:

set remote_user=root
set remote_ip=10.138.60.76
set jar_file=vts-cbs-contract.jar
set local_path=vts-cbs-contract/target
set remote_path=/home/REQ501
set release_path=%remote_path%
set backup_path=%remote_path%/backup"

set JAVA_PATH=/home/liuwentao/jdk-11.0.2/bin
set APP_PARAM=--spring.profiles.active=sit

ssh %remote_user%@%remote_ip% "ps -ef | grep %jar_file% | grep -v grep | cut -c 9-15"

If %errorlevel% == 0(ssh %remote_user%@%remote_ip% "mv %release_path%/%jar_file% %backup_path%/%jar_file%.`date +%Y-%m-%d-%k-%M`")

If %errorlevel% == 0(scp %local_path%/%jar_file% %remote_user%@%remote_ip%:%release_path%/)

If %errorlevel% == 0(ssh %remote_user%@%remote_ip% "cd %release_path% ; %JAVA_PATH%/java -jar %jar_file% %APP_PARAM% > %remote_path%/out.log 2>&1 &")

If %errorlevel% == 0(TIMEOUT /T 10
ssh %remote_user%@%remote_ip% "tail -n 50 %remote_path%/out.log"

 

注意:bat赋值=号前后是没有空格的

推荐阅读