sharepoint自动备份脚本

==============================   一  ===================================

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值