SQL完整備份 wz_Backup.bat

:: 以下腳本實現SQL server多個數據庫的完整備份,備份文件名爲:數據庫_sqldb_日期.bak,並將所有備份文件進行壓縮,壓縮文件名爲:wz_sqldb_日期.bak.rar,壓縮完畢後自動刪除原備份文件,並ftp上傳至另一臺服務器。整個腳本的運行過程自動寫入tkblbackup.log中,方便進行錯誤分析。
@echo off
color 27
title 數據庫完整備份
rem andyxu
rem http://www.infozc.com
set basePath=D:\sqlBackup
set rar="C:\Program Files\WinRAR\WinRAR.exe"
set svr=sqlbak
set svrrole=wz
set nowtime=%date:~0,10% %time%
set today=%date:~0,10%
if "%time:~0,1%" == " " (set nowh=%time:~1,1%) else (set nowh=%time:~0,2%)
set rarlist="%basePath%\scriptarlst.txt"
set ftplist="%basePath%\script\ftplst.txt"
set baklog="%basePath%\script\tkblbackup.log"
set FtpSrv=10.145.26.188
set FtpPort=21
set FtpUser=jdda
set FtpPwd=jdda_2011
@echo. >> %baklog%
@echo -------------------------------------------------- >> %baklog%
@echo %nowtime% BackupScript is starting....... >> %baklog%

cd /d %basePath%\backupdb
del *.bak /Q

::數據庫備份語句,可添加多個數據庫
for %%a in (cacheDatas powerDB bamdb) do (
@echo %nowtime% BackupDB %%a is beginning....... >> %baklog%
@osql -s localhost -d master  -E -Q "backup database %%a to disk='%basePath%\backupdb\%%a_%svr%_%today%.bak' with init" >> %baklog%
echo %%a_%svr%_%today%.bak >> %rarlist%
)
::Rar files
%rar% a %svrrole%_%svr%_%today%.bak.rar @%rarlist%  >> %baklog%

::Upload files by ftp
echo open %FtpSrv% %FtpPort% > %ftplist%
echo user %FtpUser% >> %ftplist%
echo %FtpPwd% >> %ftplist%
echo cd %svr% >>%ftplist%
echo bin >> %ftplist%
echo prompt >> %ftplist%
echo lcd  %basePath%\backupdb  >>%ftplist%
echo put %svrrole%_%svr%_%today%.bak.rar >> %ftplist%
echo quit   >> %ftplist%
echo bye    >> %ftplist%
ftp -n -s:%ftplist% >> %baklog%
echo. > %rarlist%
@echo -------------------------------------------------- >> %baklog%
@echo. >> %baklog%
@echo on
@echo 數據庫完整備份完成!!!
@pause
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章