linux自动获取项目包、备份、重启

#!/bin/bash
#脚本说明 支持自动创建文件夹、解压替换文件、重命名 、启动、重启、备份包
#start只需要修改2个参数====================================
#bak_config 替换2个文件bootstrap.yml和registry.conf
#进入表单设计器路径
cd /opt/modules/support-platform/designer-service
#远程开发环境109服务器获取敷设计器的项目包
scp -r root@10.204.125.109:/opt/modules/support-platform/designer-service/designer-service-dev-1.0.0.jar /opt/modules/support-platform/designer-service
#源jar包
sourceFile=“designer-service-dev-1.0.0.jar”
#sourceFile=“designer-service-1.0.0.jar”
#目标源jar包
targetFile=“designer-service-test-1.0.0.jar”
#end============================================================================
#jar包根路径
url= ( c d " (cd " (cd"(dirname “$0”)"; pwd)
#sourceFile jar解压的文件夹
bootInf=“BOOT-INF”
metaInf=“META-INF”
org=“org”
#是否备份文件 0 不备份 1备份
isBackup=“1”
#是否存在当天文件夹 最多保留3天备份文件夹 0默认值 判断初始化 第一个备份文件夹
mkdirIsExists=“0”
#启动提示
startMessage=“启动成功=======>”
cd KaTeX parse error: Expected 'EOF', got '#' at position 5: url #̲touch "org" mkdir $metaInf
#注意:1、if和中括号([])之间有空格;2、中括号([])与里面的内容之间必须有空格
#1.判断多个目录是否存在 if [ -d “/data_docker” -o -d “/opt/dpkg_soft” ]; then
#2.判断多个文件是否存在 if [ -f “database1.sql” -a -f “database2.sql” -a -f “database3.sql” ]; then
#备份文件start====================================================================================================
if [ ! -f s o u r c e F i l e ] ; t h e n i s B a c k u p = " 0 " e c h o " = = = = = = = = = = = = 没 有 源 始 文 件 无 需 备 份 = = = = = = = = = = = = > " sourceFile ]; then isBackup="0" echo "============没有源始文件无需备份============>" sourceFile];thenisBackup="0"echo"========================>"sourceFile
fi
if [ KaTeX parse error: Expected 'EOF', got '#' at position 26: …= "1" ]; then #̲保留3天的备份文件 back…url"/backup_jar"
backup1= u r l " / b a c k u p j a r / b a c k u p 1 " b a c k u p 2 = url"/backup_jar/backup1" backup2= url"/backupjar/backup1"backup2=url"/backup_jar/backup2"
backup3=KaTeX parse error: Expected 'EOF', got '#' at position 27: …_jar/backup3" #̲当前备份文件夹 curren…backup
ymd= ( d a t e " + h m s = (date "+%Y-%m-%d") hms= (date"+hms=(date “+%H:%m:%s”)
currentBackupSourceFile= y m d ′ − ′ ymd'-' ymdhms s o u r c e F i l e c u r r e n t B a c k u p T a r g e t F i l e = sourceFile currentBackupTargetFile= sourceFilecurrentBackupTargetFile=ymd’-' h m s hms hmstargetFile
if [ ! -d b a c k u p ] ; t h e n e c h o " 创 建 备 份 文 件 夹 存 在 " backup ]; then echo "创建备份文件夹存在" backup];thenecho""backup
mkdir $backup
fi

if [ ! -d $backup1 ]; then
	echo "创建备份文件夹存在"$backup1
	mkdir $backup1
fi
if [ ! -d $backup2 ]; then
	echo "创建备份文件夹存在"$backup2
	mkdir $backup2
fi
if [ ! -d $backup3 ]; then
	echo "创建备份文件夹存在"$backup3
	mkdir $backup3
fi

if [ "`ls -A $backup1`" = "" ]; then
   #echo $backup1"is  empty========================="
	currentBackup=$backup1
	mkdirIsExists="1"
elif [ "`ls -A $backup2`" = "" ]; then
	#echo $backup2"is  empty========================="
	currentBackup=$backup2
	mkdirIsExists="1"
elif [ "`ls -A $backup3`" = "" ]; then
	#echo $backup1"is  empty========================="
	currentBackup=$backup3
	mkdirIsExists="1"
fi
 
 if [ -d $backup1'/'$ymd ]; then
	echo "存在文件夹"$backup1'/'$ymd
	currentBackup=$backup1
	mkdirIsExists="1"
fi
 if [ -d $backup2'/'$ymd ]; then
	echo "存在文件夹"$backup2'/'$ymd
	currentBackup=$backup2
	mkdirIsExists="1"
fi
 if [ -d $backup3'/'$ymd ]; then
	echo "存在文件夹"$backup3'/'$ymd
	currentBackup=$backup3
	mkdirIsExists="1"
fi
if [ $mkdirIsExists == "0" ]; then
	#如果3个不为空删除备份
	rm -rf $backup1
	mkdir $backup1
	currentBackup=$backup1
	echo  $backup1"如果3个不为空删除备份--"$mkdirIsExists
fi

 #用于判断是否创建当天日期的文件夹 用于判断备份使用
 if [ ! -d $currentBackup'/'$ymd ]; then
	echo "创建文件夹"$currentBackup'/'$ymd
	mkdir $currentBackup'/'$ymd
fi
echo "当前备份目录为:========================>="$currentBackup
if [ -f $sourceFile ]; then
	#备份文件
	cp $sourceFile $currentBackupSourceFile
	cp $currentBackupSourceFile $currentBackup
	rm -rf $currentBackupSourceFile
	echo "备份源文件===========>" $currentBackupSourceFile
fi 
if [ -f $targetFile ]; then
	#备份文件
	cp $targetFile  $currentBackupTargetFile
	cp $currentBackupTargetFile $currentBackup
	rm -rf $currentBackupTargetFile
	echo "备份目标文件===========>" $currentBackupTargetFile
fi 

fi
#备份文件end====================================================================================================

#判断文件夹是否存在 -d start=========================
if [[ -d $bootInf ]]; then
#echo “文件夹存在” $bootInf
rm -rf $bootInf
fi
if [ -d KaTeX parse error: Expected 'EOF', got '#' at position 18: …taInf ]; then #̲echo "文件夹存在"metaInf
rm -rf $metaInf
fi
if [ -d KaTeX parse error: Expected 'EOF', got '#' at position 14: org ]; then #̲echo "文件夹存在"org
rm -rf $org
fi
#判断文件夹是否存在 -d end=========================
#判断文件是否存在 -f
if [ -f $sourceFile -a -f KaTeX parse error: Expected 'EOF', got '#' at position 21: …tFile ]; then #̲echo "文件存在"sourceFile $targetFile
#只保留一个存在
rm -rf $targetFile
fi

if [ -f KaTeX parse error: Expected 'EOF', got '#' at position 21: …eFile ]; then #̲echo "文件存在"sourceFile
#重命名
mv $sourceFile $targetFile
#解压jar
jar xf $targetFile
#删除
rm -rf ./BOOT-INF/classes/bootstrap.yml
#拷贝
cp -a ./bak_config/bootstrap.yml ./BOOT-INF/classes/
rm -rf ./BOOT-INF/classes/registry.conf
cp -a ./bak_config/registry.conf ./BOOT-INF/classes/
#增加文件到 jar 中,目录需对应
jar -uf $targetFile ./BOOT-INF/classes/bootstrap.yml
jar -uf t a r g e t F i l e . / B O O T − I N F / c l a s s e s / r e g i s t r y . c o n f e c h o " b o o t s t r a p . y m l 、 r e g i s t r y . c o n f = = = = = = = = = = > 文 件 解 压 替 换 文 件 成 功 = = = = = = = = = = = = = = = = = > " targetFile ./BOOT-INF/classes/registry.conf echo "bootstrap.yml、registry.conf==========>文件解压替换文件成功=================>" targetFile./BOOTINF/classes/registry.confecho"bootstrap.ymlregistry.conf==========>=================>"targetFile
else
echo “源文件不存在”$sourceFile
startMessage=">重启成功=======>"
fi
#判断文件是否存在 -f
if [ -f t a r g e t F i l e ] ; t h e n e c h o " 目 标 文 件 存 在 " targetFile ]; then echo "目标文件存在" targetFile];thenecho""targetFile
kill -9 ps -ef |grep $targetFile | grep -v grep | awk '{print $2}'
nohup java -jar $targetFile &
echo s t a r t M e s s a g e startMessage startMessagetargetFile
else
echo “目标文件不存在”$targetFile
fi

#判断文件夹是否存在 -d start=========================
if [[ -d $bootInf ]]; then
#echo “文件夹存在” $bootInf
rm -rf $bootInf
fi
if [ -d KaTeX parse error: Expected 'EOF', got '#' at position 18: …taInf ]; then #̲echo "文件夹存在"metaInf
rm -rf $metaInf
fi
if [ -d KaTeX parse error: Expected 'EOF', got '#' at position 14: org ]; then #̲echo "文件夹存在"org
rm -rf $org
fi
#判断文件夹是否存在 -d end=========================

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值