#!/bin/bash
#将需要更新的项目打包到/data/updatepackages目录,使用方法 ./auto_tar.sh 项目名(可多个)
#parameters
#check the webapps name correct or wrong
BASE_PATH=/data/Application
UPDATE_PATH=/data/Application/backuppackages
DD=`date +%Y%m%d_%H%M%S`
parlist=$@
echo "你计划要更新的项目为:$parlist ,以下将进行检查及打包!"
JECTS=`ls $|grep tomcat- |awk -F"-" ''|awk '1'`
#检查输入的项目名是否存在
flag=0
function checkproject()
for PRO in $
do
if [[ $1 = $ ]] ; then
flag=1
fi
done
#判断输入参数个数,假如没有参数则提示,并提示使用方法
num=$#
if [ $num -eq 0 ];then
echo "你未输入参数!usage: ./auto_tar.sh crms-web ... ... ... 可以多个项目名"
exit 1
fi
# 开始打包,首先清空更新列表记录文件,》判断输入的项目名是否存在 》打包 》将打包的文件名记录到更新列表文件
> $/update_list.txt
for JECT in $parlist
do
flag=0
checkproject $JECT
if [ $flag -ne 1 ];then
echo "参数错误,你输入的项目名:$JECT不存在,请核对确认后重新打包,更新列表里只记录最后一次成功打包的文件的记录 "
continue
fi
PROJECT=tomcat-$
local_webapps=$/$/webapps
sync
sleep 2s
echo "开始打包 $JECT 到目录: $ ................"
cd $
tar zcvf $/$_$.tar.gz $ >/dev/null 2>&1
if [ $? -eq 0 ];then
echo "$_$.tar.gz" >> $/update_list.txt
echo "打包 $ 完成!"
else
echo "backup $ failed!please check !"
fi
done
领取专属 10元无门槛券
私享最新 技术干货