对于采用 ASP.NET+SQL Server 结构的中小型网站,我采用这种方法进行数据备份:
采用Windows的任务计划进行的,设定时间为每周六凌晨2点开始。
任务计划中执行一个bat脚本:
autobackup.bat
1
net stop IISADMIN /Y
2
net stop MSSQLSERVER
3
net stop MDaemon
4
net 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![]()
8
net start WebAdmin
9
net start MDaemon
10
net start MSSQLSERVER
11
net start IISADMIN
12
net start HTTPFilter
13
net start W3SVC

2

3

4

5

6

7

8

9

10

11

12

13

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






exclude.lst

最后是启动相关的服务,因为不能启动依赖服务,所以会比关闭的服务要多些。
简评:
优点:使用任务计划、RAR、bat相结合,简单易行。备份数据全面。
缺点:要暂停数据库,导致网站大概有十分钟左右的时间不能使用,影响用户使用。