自己写的一个项目自动更新的Linux脚本

自己写的一个更新web项目的Linux脚本


#!bash

fileurl=$1
file="$fileurl/$2"
oldfilurl=$3
oldfile=$4.war
tomend=$5
tomstart=$6
beifen=$7
rsname=$8
ndirf=$beifen/$(date +%Y_%m_%d_%H:%M:%S)
#验证备份的文件夹是否存在不存在创建


if [ ! -d $beifen ]
then
mkdir $beifen
fi




if [ -d $fileurl ]
then
if [ -f $file ]
then 
#关闭tomcat
bash $tomend 2>> /tmp/update.log
if [ $? -eq 0 ]
then 
if [ -d $oldfilurl ]
then
if [ -f $oldfilurl/$oldfile ]
then

#备份旧的文件

$(mkdir $ndirf)
#$(cd $ndirf)
cp -rf $oldfilurl/$oldfile  $ndirf
echo "备份文件完成路径:$ndirf" >> /tmp/update.log
rm -Rf $4
echo "删除命令的执行结果:$? " >> /tmp/update.log 
#留作删除,防止war和他的解压包不能完全取代
#添加新的文件
cp -rf $file $oldfilurl/$rsname.war
#重启tomcat
bash $tomstart  2>> /tmp/update.log

if [ $? -eq 0 ]
then 
echo "web项目重新发布成功"$(date) >> /tmp/update.log
else
echo "新项目发布失败,请结合打印信息以及/tmp/update.log中的信息进行重新操作" >> /tmp/update.log
fi
else
echo "服务器中没有要备份的文件请注意" >> /tmp/update.log
cp -rf $file $oldfilurl/$rsname.war
                                        #重启tomcat
                                        bash $tomstart  2>> /tmp/update.log


                                        if [ $? -eq 0 ]
                                                then
                                                        echo "web项目重新发布成功" >> /tmp/update.log
                                                else
                                                        echo "新项目发布失败,请结合打印信息以及/tmp/update.log中的信息进行重新操作" >> /tmp/update.log
                                        fi


fi
else
echo "Tomcat 中 webapp路径被删除,请注意$(date)" >> /tmp/update.log
fi
else
echo "Tomcat关闭出错" 2>> /tmp/update.log
fi
else
echo "在$fileurl下新的webwar包不存在" 2>> /tmp/update.log
fi
else
echo "文件夹不存在"
$(mkdir $fileurl)
if [ $? -eq 0 ]
then
echo "changjiancge"
#当文件夹创建成功的时候再次执行这个脚本
#$(bash /root/webshell/web.sh)
else
echo "操作失败,请检查文件:夹路径"
fi
fi

你可能感兴趣的:(Linux)