变量var.sh
#!/bin/bash
# 备份文件 backupSource=(A B) A,B为文件
backupSource=("../webapps/tjy-admin-iss", "../webapps/tjy-admin-iss.war")
# 备份放在什么文件下
backupTarget="../../backup"
# 项目文件发在什么文件下
projectWebapps="../webapps/"
# 新的var包
projectWar="../../new/tjy-admin-iss.war"
# tomcat的启动和结束脚本
startup="./startup.sh"
shutdown='./shutdown.sh'
部署.sh
#!/bin/bash
# tomcat项目部署脚本
# 1.原有文件的备份
# 2.将新war包放入对应目录下
# 3.重新启动tomcat服务
source ./var.sh
# 文件备份
backup() {
if [ -d ${backupTarget} ]
then
echo "备份文件夹存在/home/backup, 进行文件备份"
else
echo "备份文件夹不存在,正在创建备份文件夹-${backupTarget}"
mkdir ${backupTarget}
fi
if [ -d ${backupSource} ]
then
echo "备份文件进行压缩"
# 文件压缩
tarFileName="${backupSource}$(date +%Y-%m-%d-%H:%M:%S).tar.gz"
tar -cvzf ${tarFileName} ${backupSource}
# 删除项目
mv ${backupSource} ${backupSource}$(date +%Y-%m-%d-%H:%M:%S)
echo "备份文件移动到备份文件夹"
# 移动备份
mv ${tarFileName} ${backupTarget}
echo "文件备份结束"
return 0
else
echo "需要备份的文件不存在,请检查"
return 1
fi
}
# 项目部署
deploy(){
if [ ! -d ${projectWebapps} ];
then
echo "项目路径webapps不存"
return 1
fi
if [ -f ${projectWar} ];
then
echo "war复制到项目路径"
cp ${projectWar} ${projectWebapps}
echo "项目复制成功"
return 0
else
echo "war包不存在"
return 1
fi
}
# 开启tomcat
startTomcat(){
${startup}
}
# 关闭tomcat
endTomcat(){
${shutdown}
}
endTomcat
backup
if [ $? == 0 ]
then
deploy
if [ $? == 0 ]
then
startTomcat
if [ $? == 0 ]
then
echo "项目发布成功!!"
fi
fi
fi