柯柯 2015-04-05
执行完后效果:
在配置好的目录备份应用代码
备份oracle数据库
覆盖更新包里的代码
重启tomcat
@ECHO OFF
set timestamp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
:定义应用目录
set appdir=G:\xxx\发布\open20150319
:定义备份目录
set backdir=G:\xxx\back\%timestamp%
:定义数据库备份目录
set database_backdir=e:\dmp\backup\hpt_%timestamp%.dmp
:定义数据库账号密码
set database_username=hpttest
set database_password=test
:定义tomcat服务名
set tomcat_name=tomcat6
md %backdir%
echo 正在备份代码...
xcopy %appdir% %backdir% /c/q/e /exclude:autoupdate_exclude.txt
echo 代码备份完成...备份目录:%backdir%
echo 正在备份数据库...
exp %database_username%/%database_password%@orcl BUFFER=64000 file=%database_backdir% log=%database_backdir%.log owner=%database_username%
echo 数据库备份完成...备份目录:%database_backdir%
echo 正在停止应用服务器...
net stop %tomcat_name%
echo 正在更新代码...
xcopy %1 %appdir% /c/q/e/y
echo 更新代码完成...
echo 执行更新SQL
sqlplus %database_username%/%database_password%@orcl @update.sql
echo SQL执行完成
echo 正在启动服务器
net start %tomcat_name%
echo 更新完成...
pause
echo 1. 使用当前日期命名备份文件。echo 2. 自动删除7天前的备份。forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"