以前寫的win平臺下下載ftp更新服務端數據,相比Jenkins更自由
update.bat
@echo off
rem =====================================================================================
rem 變量延遲
rem setlocal enabledelayedexpansion
rem 第一次使用本腳本,需要設置下面所有的變量值
rem 設置好以後,只用每次使用前改一下補丁名字就可以了
set buding_name="20120122b"
rem 測試環境
set nd=2014
set disk=C:
set service_id=25
set oracle_passwd=root
rem 設置FTP的相關內容
set ftp=10.6.10.103
set username=administrator
set password=123456
set ftp_mulu="37L11"
set ftp_buding=%buding_name%.rar
set bendi_buding="%~dp0%ftp_buding:"=%"
rem 設置FTP文件和升級日誌文件的存放地址爲當前文件夾
set ftp_txt="%~dp0\ftp.txt"
set update_log="%~dp0\update.log"
rem 將FTP的相關內容寫入ftp.txt文件
echo open %ftp%>%ftp_txt%
echo %username%>>%ftp_txt%
echo %password%>>%ftp_txt%
echo cd %ftp_mulu%>>%ftp_txt%
echo get %ftp_buding% %bendi_buding%>>%ftp_txt%
echo bye>>%ftp_txt%
rem =====================================================================================
rem 上面都是配置,下面正是開始,每一步都要寫入update.log
echo 1、下載(%ftp_buding%)
rem 刪除舊補丁
if EXIST %bendi_buding% del %bendi_buding%
rem 根據ftp.txt內容登錄FTP,並且下載補丁
ftp -s:%ftp_txt% >%update_log%
echo 2、解壓到當前文件夾
rem 刪除舊文件夾
if EXIST %~dp0%buding_name% rd /s/q %~dp0%buding_name%
rem 解壓到當前文件夾
"c:\Program Files\WinRAR\Rar.exe" x -t -o-p %bendi_buding%>>%update_log%
echo 3、複製bea到測試環境
rem 如果存在bea,就複製bea到測試環境
if EXIST "%~dp0%buding_name:"=%\02應用安裝\bea" (
xcopy "%~dp0%buding_name:"=%\02應用安裝\bea" %disk%\bea /y/e)>>%update_log%
rem 修改升級腳本里面的bat,測試庫只用升級 日期.bat、ctaisvpt.bat、rebuild.bat
rem 首先找是否存在升級腳本
if EXIST %~dp0%buding_name:"=%\03數據庫腳本\升級腳本 (
echo 4、升級腳本
rem 找是否存在【日期.bat】
if EXIST "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本\%nd%*.bat" (
for /f "delims=" %%i in ('dir /s/b "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本\%nd%*.bat"') do (
for /f "delims=" %%a in ('type "%%~fi"') do (
set "foo=%%a"
call,set foo=%%foo:oracle=%oracle_passwd%%%
call,set foo=%%foo:produ=%service_id%%%
call,echo/%%foo%%>>"%%~fi._")
move "%%~fi._" "%%~fi")
cd "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本"
for /f %%i in ('dir /b %nd%*.bat') do (call %%i)
)>>%update_log%
rem 找是否存在【ctaisvpt.bat】
if EXIST "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本\ctaisvpt.bat" (
for /f "delims=" %%i in ('dir /s/b "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本\ctaisvpt.bat"') do (
for /f "delims=" %%a in ('type "%%~fi"') do (
set "foo=%%a"
call,set foo=%%foo:oracle=%oracle_passwd%%%
call,set foo=%%foo:produ=%service_id%%%
call,echo/%%foo%%>>"%%~fi._")
move "%%~fi._" "%%~fi")
cd "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本"
call ctaisvpt.bat
)>>%update_log%
rem 找是否存在【rebuild.bat】
if EXIST "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本\rebuild.bat" (
for /f "delims=" %%i in ('dir /s/b "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本\rebuild.bat"') do (
for /f "delims=" %%a in ('type "%%~fi"') do (
set "foo=%%a"
call,set foo=%%foo:oracle=%oracle_passwd%%%
call,set foo=%%foo:produ=%service_id%%%
call,echo/%%foo%%>>"%%~fi._")
move "%%~fi._" "%%~fi")
cd "%~dp0%buding_name:"=%\03數據庫腳本\升級腳本"
call rebuild.bat
)>>%update_log%
)
rem 找是否存在數據處理腳本
if EXIST "%~dp0%buding_name:"=%\03數據庫腳本\*數據處理腳本*" (
echo =====有數據處理腳本,請發給相應人員升級)
rem 找是否存在報表模板
if EXIST "%~dp0%buding_name:"=%\04報表模板" (
echo =====有報表模板,請發給相應人員升級)
rem 刪除緩存文件
if EXIST "%disk%\bea\user_projects\dmctais\myserver\.wlnotdelete\extract" (
rd /s/q "%disk%\bea\user_projects\dmctais\myserver\.wlnotdelete\extract")>>%update_log%
rem 輸出日期時間
echo %date% %time%>>%update_log%
echo %date% %time%
rem 啓動服務
%disk%
cd "%disk%\bea\user_projects\dmctais"
startWebLogic.cmd