對於採用 ASP.NET+SQL Server 結構的中小型網站,我採用這種方法進行資料備份:
採用Windows的任務計划進行的,設定時間為每周六淩晨2點開始。
任務計劃中執行一個bat指令碼:
autobackup.bat
1net stop IISADMIN /Y
2net stop MSSQLSERVER
3net stop MDaemon
4net stop WebAdmin
5
6"C:\Program Files\WinRAR\WinRAR.exe" a -hp123456 -m0 -agYYYY-MM-DD_HH.MM -ep2 -r -x@D:\定時備份\exclude.lst -ibck D:\定時備份\WebData.rar @D:\定時備份\backup.lst
7
8net start WebAdmin
9net start MDaemon
10net start MSSQLSERVER
11net start IISADMIN
12net start HTTPFilter
13net start W3SVC
bat的步驟就是先停掉相關的服務,然後用WinRAR進行備份資料,然後再開啟相應的服務。
net stop IISADMIN /Y 後面的參數/Y表示停止IISADMIN及依賴於它的服務
net stop MSSQLSERVER 停掉Sql Server 才能備份它的資料檔案。資料檔案我都是放到網站的App_data目錄下。
net stop MDaemon MDaemon是郵件系統服務
WinRAR 具體的參數在Rar的安裝目錄下有個txt文檔,裡面有詳細的說明。其中backup.lst和exclude.lst是自己做的需要備份的目錄和排除的檔案和目錄,其中支援萬用字元。可以設定壓縮包的密碼,-hp123456表示密碼設定為123456。
backup.lst
D:\Config
D:\MDaemon
D:\Community
D:\IO
D:\Portal
exclude.lst
*.pdb
最後是啟動相關的服務,因為不能啟動依賴服務,所以會比關閉的服務要多些。
簡評:
優點:使用任務計劃、RAR、bat相結合,簡單易行。備份資料全面。
缺點:要暫停資料庫,導致網站大概有十分鐘左右的時間不能使用,影響使用者使用。