先亮出一个备份批处理脚本。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
@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排名。
本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/1221952,如需转载请自行联系原作者