对于采用 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
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
D:\MDaemon
D:\Community
D:\IO
D:\Portal
exclude.lst
*.pdb
最后是启动相关的服务,因为不能启动依赖服务,所以会比关闭的服务要多些。
简评:
优点:使用任务计划、RAR、bat相结合,简单易行。备份数据全面。
缺点:要暂停数据库,导致网站大概有十分钟左右的时间不能使用,影响用户使用。