Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Windows 綜合教學 >> 關於 Windows

Windows 批次檔實現 Tomcat 專案自動備份與 FTP 上傳

編輯:關於 Windows

針對 Java Web 專案(Tomcat 部署)設計的全自動備份腳本,涵蓋:停止服務、打包專案目錄、保留 7 天滾動備份、FTP 上傳遠端伺服器、清理臨時檔、重啟服務。可配合 Windows 排程工作實現無人值守備份。

核心邏輯說明

@echo off
rem ===== 參數區 =====
set BACKUP_ROOT=D:\backup
set TOMCAT_HOME=D:\tomcat-6.0.20
set FTP_HOST=59.208.8.4
set FTP_USER=ycoa
set FTP_PASS=bester@2010
set FTP_REMOTE_DIR=server5
set KEEP_DAYS=7

rem ===== 1. 停止 Tomcat =====
echo [%date% %time%] 開始備份 >> %BACKUP_ROOT%\backup.log
call %BACKUP_ROOT%\bat\tomcat6\shutdown.bat >> %BACKUP_ROOT%\backup.log

rem ===== 2. 打包專案 (排除舊檔) =====
set FILENAME=portal_cas_%date:~0,4%%date:~5,2%%date:~8,2%.rar
if exist %BACKUP_ROOT%\bak\%FILENAME% del %BACKUP_ROOT%\bak\%FILENAME%
"C:\Program Files\WinRAR\WinRAR.exe" a %BACKUP_ROOT%\bak\%FILENAME% %TOMCAT_HOME%\webapps >> %BACKUP_ROOT%\backup.log

rem ===== 3. 計算 7 天前日期 (用於刪除本地/遠端舊檔) =====
echo wscript.echo dateadd("d",-%KEEP_DAYS%,date) > %tmp%\tmp.vbs
for /f "tokens=1-3 delims=/- " %%i in ('cscript //nologo %tmp%\tmp.vbs') do (
    set Y=%%i & set M=%%j & set D=%%k
)
if %M% LSS 10 set M=0%M%
if %D% LSS 10 set D=0%D%
set OLD_DATE=%Y%%M%%D%

rem ===== 4. 刪除本地舊備份 =====
del %BACKUP_ROOT%\bak\portal_cas_%OLD_DATE%.rar >> %BACKUP_ROOT%\backup.log

rem ===== 5. 動態產生 FTP 腳本並上傳 =====
(
 echo open %FTP_HOST%
 echo user %FTP_USER% %FTP_PASS%
 echo cd %FTP_REMOTE_DIR%
 echo bin
 echo prompt off
 echo put %BACKUP_ROOT%\bak\%FILENAME%
 echo delete portal_cas_%OLD_DATE%.rar
 echo bye
) > %BACKUP_ROOT%\ftp.tmp
ftp -n -s:%BACKUP_ROOT%\ftp.tmp >> %BACKUP_ROOT%\backup.log
del %BACKUP_ROOT%\ftp.tmp

rem ===== 6. 重啟 Tomcat =====
call %BACKUP_ROOT%\bat\tomcat6\startup.bat >> %BACKUP_ROOT%\backup.log
echo [%date% %time%] 備份完成 >> %BACKUP_ROOT%\backup.log

部署步驟

  1. 將上述內容儲存為 backup.bat 放置於 D:\backup\bat\。
  2. 確認 WinRAR 安裝路徑、Tomcat shutdown/startup 腳本路徑、FTP 認證資訊正確。
  3. 開啟「控制台」→「系統管理工具」→「工作排程器」→「建立基本工作」,設定每日執行時間(如凌晨 02:00),動作指向 backup.bat,若系統有登入密碼請填入。
  4. 測試:手動執行一次,檢查 backup.log 與遠端 FTP 目錄確認成功。

注意:若備份期間 Tomcat 進程未正常結束導致檔案鎖定,可先建立「重啟伺服器」排程於備份前執行,確保檔案釋放。

Copyright © Windows教程網 All Rights Reserved