动弹里求助了下如何自动更新java web项目到Tomcat,经过经验和大佬们的说法,感觉tomcat手动重启更新是必须的了,reloadable = true方式不太可靠,也有过tomcat自己关不掉的时候就不能成功更新,而且项目上线以后,不能随时的更新类到项目了,但是还有很多bug需要修复,基本要求每天更新一次,要选在用户量最少的时间段更新,我去,这不是坑爹嘛,你们都回家休息了,我得早来或晚走更新项目,还不多给工资,所以写了个自动更新的shell脚本。
首先你必须把要更新的文件准备好,我的是放在/home/shop/cc/下。脚本很简单,不喜勿喷
忘说了,在linux下用crontab设置定时任务,脚本在root用户下运行才好使。
#!/bin/sh #----------------------------------------------------------------------------- #备份 #----------------------------------------------------------------------------- file=$(date '+%m-%d') #备份class文件 echo $(date) 备份/opt/wwwroot/WEB-INF/下的文件 cd /opt/backups/ mkdir $file cd $file cp /opt/wwwroot/WEB-INF/ . -r #----------------------------------------------------------------------------- #更新 #----------------------------------------------------------------------------- #停止tomcat echo $(date) 关闭tomcat cd /opt/apache-tomcat-6.0.36/bin/ ./shutdown.sh echo tomcat停止运行 #判断Tomcat是否已经停止工作 echo $(date) 判断tomcat是否停止工作,如果没有,则间隔一段时间后强制关闭 int=0 while (($int < 5)) do pid=$(ps aux|grep tomcat-|grep -v grep|awk '{print $2}') if ["$pid"=""] then echo $pid 不存在 int=5 else echo $pid 存在,休息20s let"int++" sleep 20s if ["$int"="4"] then echo $(date) 强制关闭tomcat kill -9 $pid fi fi done #备份log日志 echo $(date) 备份log日志 cd /opt/apache-tomcat-6.0.36/logs/ mv catalina.out catalina-$file.out #拷贝更新文件 echo $(date) 把更新文件拷贝到运行目录 cd /home/shop/cc/ cp * /opt/wwwroot/ -r #设置ulimit -n 65000 echo $(date) 设置ulimit cd /opt/apache-tomcat-6.0.36/bin/ ulimit -n 65000 #启动 echo $(date) 启动tomcat ./startup.sh #-----------------------------------------------------------------------------
相关推荐
java 执行linux命令源码,java调用shell脚本源码,java web发布war到tomcat,servlet文件上传,ajax文件上传。 java web 上传war包、停止、启动、发布tomcat。 命令修改成自己的目录即可使用。
因为tomcat的安装依赖于Java jdk,所以我们需要在判断linux系统下面是否安装jdk b.1 使用(Xshell)连接到Linux系统下面 b.2 输入命令:java -version,如果显示jdk版本号,则证明已经安装,如果不显示,则证明...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
* test文件夹为java web项目。maven管理 2. 安装 * 安装maven * 可直接使用处理完成的数据,导入freq_item.sql数据库文件 * freq_item数据库中多个表为不同置信度、支持度阈值时的数据结果,任选其一即可 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...
* test文件夹为java web项目。maven管理 2. 安装 * 安装maven * 可直接使用处理完成的数据,导入freq_item.sql数据库文件 * freq_item数据库中多个表为不同置信度、支持度阈值时的数据结果,任选其一即可 ...