自己写的一个项目自动更新的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
#!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〗自动更新Hosts的一个脚本
- 朋友的一个问题:Linux开机如何自动运行自己编写好的shell脚本
- 〖Linux〗自动更新Hosts的一个脚本
- ubuntu 下的第一个自启动脚本——自动挂载Windows下的一个目录到Linux下
- Linux开机如何自动运行自己编写好的shell脚本
- [Unix/Linux] catsrc.sh: 此脚本用于在写报告时把项目的多个源代码文件方便的 `cat` 到一个文件上, 并把来自不同的文件之间加上一个标识头以区分输出文件里的不同文件
- 一个自动将cookie发送到自己网站的XSS脚本!
- 网络游戏服务器开发::学习了两天python写了一个linux下自动安装程序的脚本
- linux 下 C 编程和make的方法 (七、补充,模块化项目组织的Makefile设计和自动生成脚本)
- 一个php写的linux下lvm自动快照实现脚本
- 自己写的一个批处理文件,自动更新svn文件 并自动用ant编译 调用jboss的run启动服务器
- Linux如何开机自动运行自己的脚本
- linux下如何自动检测并重新启动一个死掉的进程(shell脚本实现)
- 在linux上做到备份&更新单文件时的一个脚本,支持rollback,
- 一个脚本让系统不再自动更新
- 发现维护的自己编写linux 系统检查脚本一个bug (syslog\message)
- 一个自动更新自己的程序(z)
- linux下如何自动检测并重新启动一个死掉的进程,然后再把它杀死:)(shell脚本实现)
- linux + ant +java web 项目自动更新测试站点
- 在linux 如何写一个自动用ssh登录重启Apache的脚本