先亮出一个备份批处理脚本。
@echo off ::备份计划 :: 停止IIS服务,备份IIS文件夹。 :: 停止数据库服务,备份数据库。 :: 备份apache的配置文件。 :: 备份tomcat的配置文件。 :: 备份tomcat的webapps目录。 :: :: 部署计划 :: 覆盖或者新加IIS文件夹。 :: 变更数据库结构,导入基础数据。 :: 修改apache配置文件。 :: 修改tomcat配置文件。 :: 覆盖或者新加tomcat文件夹。 ::---------------------------------- ::最终备份的目录是 ::d:\dsnbackup\year.month.day.hour.minute\env ::例如: ::D:. ::└─2013.06.17.08.53 :: └─www :: ├─sqlserver :: ├─tomcat :: │ ├─ap :: │ └─ttsn :: ├─wcf :: └─web ::----------------------------------- ::备份文件存放的驱动盘 @set driver=D: set mpath=dsnbackup ::env环境变量,例如210,230,www,demo,代表一种系统运行环境 set env=www set mypath="" set webpath="c:\inetpub\web" set wcfpath="c:\inetpub\wcf" set appath="d:\apache-tomcat-6.0.36-windows-x64\apache-tomcat-6.0.36\webapps\ap" set ttsnpath="d:\apache-tomcat-6.0.36-windows-x64\apache-tomcat-6.0.36\webapps\ttsn" set isBackupSQLServer="1" set isBackupIISWcf="1" set isBackupIISWeb="1" set isBackupApacheConf="1" set isBackupTomcatConf="1" set isBackupTomcatAp="1" set isBackupTomcatTTSN="" ::如果D盘不存在,则设置备份在C盘 if not exist %driver% ( set driver=c: ) :: echo %driver% @set mytime=%time% @set mydate=%date% @set myyear=%mydate:~0,4% :: echo %myyear% @set mymonth=%mydate:~5,2% @set myday=%mydate:~8,2% @set myhour=%mytime:~0,1% if "%myhour%"==" " ( @set myhour=0%time:~1,1% ) else ( @set myhour=%time:~0,2% ) @set myminute=%mytime:~3,2% ::@set mysecond=%mytime:~6,2% ::@set mypath=%myyear%.%mymonth%.%myday%.%myhour%.%myminute%.%mysecond% @set mypath=%myyear%.%mymonth%.%myday%.%myhour%.%myminute% ::echo %myyear%.%mymonth%.%myday%.%myhour%.%myminute%.%mysecond% ::echo %mypath% set fpath=%driver%\%mpath%\%mypath%\%env% ::echo %fpath% md %fpath% echo ---------------------------------- ::备份web echo 开始备份 IIS WEB echo ----- md %fpath%\web xcopy /E /Y /C /Q %webpath% %fpath%\web echo ----- echo 备份 IIS WEB 完成 echo ---------------------------------- ::备份wcf echo 开始备份 IIS WCF echo ----- md %fpath%\wcf xcopy /E /Y /C /Q %wcfpath% %fpath%\wcf echo ----- echo 备份 IIS WCF 完成 echo ---------------------------------- ::备份ap echo 开始备份 tomcat ap echo ----- md %fpath%\tomcat\ap xcopy /E /Y /C /Q %appath% %fpath%\tomcat\ap echo ----- echo 备份 tomcat ap 完成 echo ---------------------------------- ::备份ttsn echo 开始备份 tomcat ttsn echo ----- md %fpath%\tomcat\ttsn xcopy /E /Y /C /Q %webpath% %fpath%\tomcat\ttsn echo ----- echo 备份 tomcat ttsn 完成 echo ---------------------------------- ::------------------------------------------------------------ ::备份SQL Server ::创建备份目录 set dbpath=sqlserver md %fpath%\%dbpath% ::--------------------------设置变量 ::服务器名 @set dbserver=192.168.0.210 md \\%dbserver%\%driver:~,1%$\%mpath%\%mypath%\%env%\%dbpath% ::登陆用户名 @set dbuid=sa ::登陆密码 @set dbpwd=demo ::-------------------------备份数据 ::开始执行导出 @echo 开始备份SQL Server echo ----- set dbbaksql=backup database KBDSN TO DISK='%fpath%\%dbpath%\KBDSN.bak' sqlcmd -S %dbserver% -U %dbuid% -P %dbpwd% -Q "%dbbaksql%" set dbbaksql=backup database KBDSN_Market TO DISK='%fpath%\%dbpath%\KBDSN_Market.bak' sqlcmd -S %dbserver% -U %dbuid% -P %dbpwd% -Q "%dbbaksql%" set dbbaksql=backup database KBDSN_ProductHis TO DISK='%fpath%\%dbpath%\KBDSN_ProductHis.bak' sqlcmd -S %dbserver% -U %dbuid% -P %dbpwd% -Q "%dbbaksql%" set dbbaksql=backup database KBDSN_Special TO DISK='%fpath%\%dbpath%\KBDSN_Special.bak' sqlcmd -S %dbserver% -U %dbuid% -P %dbpwd% -Q "%dbbaksql%" set dbbaksql=backup database KBDSN_XFD TO DISK='%fpath%\%dbpath%\KBDSN_XFD.bak' sqlcmd -S %dbserver% -U %dbuid% -P %dbpwd% -Q "%dbbaksql%" ::-------------------------完成备份 echo ----- @echo SQL Server备份成功 echo ---------------------------------- xcopy /E /Y /C /Q \\%dbserver%\%driver:~,1%$\%mpath%\%mypath%\%env%\%dbpath% %fpath%\%dbpath% ::如果需要让客户确认,请去掉下面代码前面的::注释符。 echo ---------------------------------- @pause
上面的备份脚本有几个需要注意的地方。
1、sqlcmd
sqlcmd是在安装了SQL Server 2005甚至更高版本的时候才具有的console命令。所以sqlcmd必须在安装了SQL Server 2005甚至更高版本的数据库的机器才可以运行。
2、数据库备份的目录
SQL Server的backup database命令产生的备份文件是在数据库服务器的文件系统,如果需要拷贝到统一的目录,需要使用xcopy命令。
网站目前的alexa排名。