您的位置:首页 > 运维架构 > Linux

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

2016-12-11 20:45 573 查看
自己写的一个更新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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐