============================== 一 ===================================
1 前言
Moss的文件和配置数据多存储在SQL数据库中,所以大家一般多会直接备份数据库或者利用Moss自带的备份和恢复功能来实现备份和恢复,
现就常用的三种备份方案进行一个简单分析比较。
1、在管理中心里面有“还原和备份”;
2、备份数据库;
3、用Stsadm工具备份;
第一个备份方案,在还原的时候,会莫名其妙的出错,而且不能定时自动备份,一般很少实际应用而且容易出错;
第二个备份方案,是一个不错的选择,但由于一个应用程序对应一个数据库,在实际部署应用的时候,往往一个应用程序下面会部署多个网站集,这样在恢复站点的时候,效率不是很高;
第三个备份方案,是比较完整的备份,用起来也比较方便,备份还原的时候,效率都很高。
知道各种备份恢复的优缺点之后我们简单分享下我们的备份需求。
1、 可以完整的备份下网站和网站中的数据和配置,涵盖人员组,各种权限配置,各种自定义的WebPart
2、 可以实现自动定时备份,无人员值守
3、 可以通过网络自动上传到制定服务器,避免突发的意外事件
4、 操作简单,效率高,只需要配置一次就Ok
由上可以得出要实现无人值守必须结合Windows的“任务计划”,要实现自动上传必须借住“映射网络驱动器”,好了下面我来叙述具体的配置过程!
需要对Dos命令和任务计划有一定了解,这些大家可以网上搜索下相关知识点。
2 新建测试站点
这个比较简单,因为我们需要测试备份与恢复所以需要人为的去创建一个Web应用程序并在此基础上部署一个或者几个网站集,然后对网站进行相关人员组权限,共享文档,任务等功能进行适当操作然后才可以开始下面的备份测试。
具体的操作过程前面部署和配置已经叙述过,这里省略!
添加了网站用户和用户任务两个WebPart部件
上传了部分测试文件
3 备份整站
新建一个backup.bat 的批处理文件放在任意目录下,然后执行这个批处理文件!
"%systemdrive%\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o backup -urlhttp://172.18.33.238:8000 -filename "E:\backup\%date:~0,10%.data" –overwrite
注释:调用stsadm.exe 执行 备份操作 并指定要备份的站点URL 备份的文件名称
知识点:
backup
为具有指定 URL 的网站创建备份。使用参数 overwrite 替换现有备份文件。
必选参数 可选参数
-url
-filename -overwrite
语法示例:
stsadm.exe -o backup -url <url> -filename <filename> [-overwrite]
net use j: \\172.18.33.237\backup "*******" /user:administrator
注释:映射网络驱动器命令
copy E:\backup\%date:~0,10%.data j:\
注释:通过copy命令拷贝指定的备份文件到映射网络驱动器上实现多机备份
net use j: /del
注释:关闭映射网络驱动器,不然下次会报错
执行前后对比
4 删除Web应用程序
进入网站管理后台,模拟数据崩溃我们人为的删除Web应用程序
步骤:
网站管理>>应用程序管理>>删除Web应用程序
这时可以打开9999端口,发现Web应用程序已经无法使用
接下来,我们进行网站恢复操作
5 恢复网站
进入到数据备份目录,新建一个批处理文件,指定恢复的文件名和恢复URL并运行这个批处理文件。
备注:在使用该命令进行网站集备份和恢复的时候,应注意备份前后的网站url应当一致,否则无法正常地恢复网站。
运行之后会提示报错
这个是由于未创建9999的Web应用程序,我们创建一个9999的Web应用程序,过程略
执行restore.bat批处理程序,成功返回提示
恢复之后可以看到各种WebPart和文档库中的文档全部恢复了
注意事项:
在使用该命令进行网站集备份和恢复的时候,应注意备份前后的网站url应当一致,否则无法正常地恢复网站。
该备份和恢复可以包含安全性设置,也可以包含个人化信息。该命令适用于完整的网站集的备份与恢复。此外,该方法的优点还在于它可以强制地覆盖已有的站点,而无需新建一个站点后再应用。
6 开启自动备份和网络上传功能
开始>>附件>>系统工具>>任务计划
添加任务计划
填写必要的任务计划执行周期和任务名称
设定任务的执行时间
输入域用户的登录名和密码
完成任务计划设置
建议把自动备份时间设置在24:00,这时相对服务器比较空闲backup.bat会自动备份、上传当天的备份文件如果需要备份多个站点,同样的设置就Ok了。
========================= 二 =========================
最近一直在研究Sharepint,在感叹系统的悍大之余,同时也从中汲取很多新的流程作业理念!言归正转,写此文的目的不是要聊心得谈感受,而是在分享使用Sharepoint过程中亲身体验过的一个方法,也是Sharepoint爱好者经常会遇到的一个问题的解决办法--如何给站点做一个自动备份,每天自动定时备份,自动将备份文件通过局域网传输到另一台机器上,并且备份文件保存一周。方法已实践并整理成文以供分享!
下面是实现的思路分析和方法:
首先分析一下需求:
1.自动备份,用windows自带的计划任务就可以了;
2.备份后将备份文件传输到局域网的另一台机器上,用映射网络驱动器、copy命令行能实现;
3.备份文件保存一周,这个实现起来就比较难了,如何让dos自动删除掉一周前的文件呢?如果把备份当天是“星期几”这个信息作为备份文件名的一部分,就能实现!
在dos命令行里面取当天是“星期几”的方法:
%date% 和 %time%2007-08-08 23:13C:\>echo %date%
2008/06/21 星期六
C:\>echo %date:~0,4%
2008
盘符:\>输出 %date%是一个参数 但是他后面带的这些就是取值范围,说说后面的数值 第一个0代表从头开始 后面的4代表共取4个字符
C:\>echo %date:~-3%
星期三
这里面的负数代表倒数,也就取最后3个字符
C:\>echo %date:~-3,-1%
星期
这里的-1是不输出最后1个字符-2当然是2个类推
time也类似
echo %time%
12:22:57.40
OK,既然思路和实现的方法都搞清晰了,那最后的实现也就不困难了!
以备份文件backup000.cmd为示例:
----------------------------备份文件开始----------------------------
X:\STSADMbackup\stsadm.exe -o backup -url http://www.url.com -filename X:\STSADMbackup\sharepoint%date:~-3%.data -overwrite
注释:其中“X:\STSADMbackup\“是备份工具:STSADM.EXE的绝对路径;
“sharepoint%date:~-3%.data”是备份文件名,其中的“%date:~-3%”为当前的日期;
net use Y: \\172.*.**.**\sharename$ "******" /user:administrator
注释:映射网络网络驱动器的dos命令行;
copy X:\stsadmbackup\*%date:~-3%.data.* Y:\stsadmbackup\ /Y
注释:将所有当天的备份文件上传到网络驱动器中,其中用*%date:~-3%.data.* 来区分之前和当天的备份文件,大体意思是复制目录中所有文件名包含*%date:~-3%.data.*的文件,到网络驱动器中。
----------------------------备份文件结束----------------------------
将中间的注释去掉,复制到TXT文件里面,保存为后缀是CMD格式的文件,就可以测试一下了!
这样三个简单的命令,就实现了自动备份、自动复制和备份文件保存一周的功能;
============================ 三 ==============================
sharepoint 3.0管理中心提供的备份操作没有定时执行的功能。
解决办法是些一个bat脚本,其中使用命令行方式进行备份。然后再windows的计划任务中建一个任务调用该脚本。
stsadm.exe有很多参数,功能基本够用了。例如全量、增量,整个域或指定服务,指定目录等等。具体可以用stsadm -help或上微软网站查资料。
下面一些重要的参数:
-directory 指定备份存放目录
-backupmethod full/differential 全量/增量选项,默认是全量
-item 指定备份的组件。特别说明一下,如果搞不清组件的名称是什么,可以先用-showtree查看一下路径名称。
下面是脚本样例:
全量备份:
"%systemdrive%\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o backup -urlhttp://xx.xx.xx.xx:80 -directory "E:/back/" -backupmethod full
增量备份:
"%systemdrive%\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o backup -urlhttp://xx.xx.xx.xx:80 -item "Windows SharePoint Services Web 应用程序" -directory "E:/back/" -backupmethod differential