上线部署那些事3-备份脚本



先亮出一个备份批处理脚本。


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排名。

131430678.png




本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/1221952,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值