對大多數企業來講,系統和數據的備份既重要,又簡單,但又經常做不好,鄙人的觀點是,一者要重視備份,二者要有好的備份方案。這裏給出我的常用腳本,簡潔而好用,供大家參考,若有錯誤,望指點。QQ:361037838
新建備份目錄,如F:\backup
新建備份腳本,如F:\script\backup.bat
在自動任務中創建任務,視情況定期執行此腳本,備份數據文件將會自動創建在腳本所在目錄F:\backup,因爲各種數據庫的備份比較特殊,這裏不詳說,以SQL Server爲例,假設已經由其SQL Server作業自動創建了BAK或TRN備份到F:\sqlback_weekly目錄了,腳本內容如下,rem爲註釋符。
@echo off rem ================================================= rem author Zhao Yanan rem date 2010/03/10 rem 注意事項: rem 此腳本添加到自動任務中運行一項後,末尾可添加“ >> backup.log 2>&1”(不加引號) rem 如果日誌每次都較多,以致文件太大而不方便打開,可把>>改爲>。 rem 腳本由超級管理員賬戶運行正常,請不要使用system用戶,否則net use命令執行不會成功。 rem ================================================= echo ===================backupstart================== date /t time /t rem 進入備份目錄 cd ..\backup rem 處理舊備份 del *.reg.1 del *.rar.1 rename *.reg *.reg.1 rename *.rar *.rar.1 rem 備份註冊表 regedit -e regedit.reg rem 採用winrar備份 rem 參數說明: rem a,添加壓縮文件,必須的參數 rem -ri0:1,其中0是線程優先級,0爲默認,1最低,15最高,1是每壓縮一個文件暫停1ms, rem 可降低CPU使用率,並可以減少磁盤讀寫錯誤的概率,但同時需要考慮備份總時長。 rem -v2000M,即每個分卷大小是2000*1000*1000Bytes rem -sv,分卷採用固實的方式,增加有部分分卷損壞時恢復數據的概率。 rem -r,包含子文件夾和文件 rem rar比winrar命令更多,使用方法基本一致。 rem -m5,採用最大壓縮率,-m0,不壓縮,默認是-m3 rem 更多幫助可參考winrar自帶的幫助文件 rem 設置本地環境變量 setlocal path="C:\Program Files\WinRAR" rar a -y script.rar f:\script\*.bat rar a -ri10:3 -y -r IIS_MetaBack.rar %SystemRoot%\System32\inetsrv\MetaBack rar a -ri10:3 -y -r serv-u.rar "d:\Program Files\Serv-U" rem 下面採用非固實分卷壓縮備份大目錄,可解決單個大文件FTP上傳失敗的問題 rem 因www數據超過10GB,爲節省時長,沒有采用-ri參數 rar a -ri10:3 -sv -v2000M -y -r mssql.rar "F:\sqlback_weekly" rar a -sv -v2000M -y -r -m2 www.rar e:\web rem 結束本地環境變量 endlocal rem 通過FTP上傳到異地,下面的XXX代表異地FTP的IP,本腳本不採用此方法 rem ftp -i -s:ftp.ini XXX.XXX.XXX.XXX rem 參數說明 rem 這裏ftp的參數,有時候需要加上-n rem 通過SMB協議和xcopy命令傳輸到異地,此方法需要本地和異地服務器之間能使用共享 net use t: /del /y net use t: \\XXX.XXX.XXX.XXX\sharedir "share?2010" /user:share xcopy /r /y /c *.rar t:\ xcopy /r /y /c BESR\*.sv2i t:\BESR xcopy /r /y /c BESR\*.v2i t:\BESR rem 因文件太大,下面是打包後直接保存到異地,因採用了分卷,所以異地目錄需要有刪除權限 "C:\Program Files\WinRAR\rar" a -sv -v2000M -y -r -m2 t:\ourweb.rar e:\web\ourweb net use t: /del /y time /t echo ===================backupdone================= exit
下面是ftp.ini的內容:
# 帶“#”標識的行是使用說明,真實環境中要刪除 # 下面是用戶名和密碼 username password # 採用二進制模式,否則二進制文件傳輸後是不能用的。 bin put regedit.reg # 上傳多個文件命令 mput *.rar lcd www # 事先在FTP上新建www目錄 cd www put *.rar bye
因爲異地FTP的密碼都放在這裏了,肯定不安全,我的方法是,異地FTP目錄設置爲只寫,拒絕其它所有權限,異地的備份當然也需要循環,可以在異地服務器上執行定期刪除任務。或者改爲由異地備份服務器定期獲取備份。
考慮到企業有時候需要更久的備份,可以在其它目錄裏存放永久備份,而不會被自動任務刪除。
原文:http://www.zhaoyanan.cn/windows-local-and-remote-automatic-backup-solutions.html