使用stsadm.exe工具实现SharePoint网站备份还原

时间:2024-08-20 10:03:44

一、过程描述:

首先在源站点机器上用stsadm.exe备份网站集,讲备份文件拷贝到目标服务器(也可直接在备份时配置备份路径为目标机器路径),然后执行还原操作:首先新建网站集,然后用SharePoint自带的stsadm.exe工具来实现站点的还原.还原完成后拷贝sp.listview控件所需dll并且修改web.Config配置文件。下面为具体步骤.本例是从服务器192.168.10.59上备份SharePoint站点,然后还原到192.168.11.31上。

二、具体步骤

1、备份SharePoint站点.

在192.168.10.59上新建backupsite.bat文件,内容如下:

stsadm.exe -o backup -url %url% -filename %backpath% -overwrite
cd c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN
stsadm.exe -o backup -url http://192.168.10.59:80 -filename C:\backup\fudeng_home.bak -overwrite

双击此bat文件。待命令执行完毕后继续下一步。

注意:确保拥有对 C:\backup 文件夹的写权限

2、还原SharePoint站点

(1) 在192.168.11.31上新建restoresite.bat文件. 内容如下:

iisreset /stop

cd c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN

stsadm.exe -o restore -url http://192.168.11.31:80 -filename C:\backup\fudeng_home.bak –overwrite

iisreset /start  

注意: “iisreset /stop” 和”iisreset /start”为必须命令,不然在还原过程中会发生错误.

(2)在执行此bat文件之前,需要新建web应用程序和网站集.

打开sharepoint管理中心,点击【应用程序管理】

在SharePoint web管理栏下点击【新建或扩展应用程序】

按如上配置填写好后,点击【确定】,点击【创建网站集】

在如下示图中填写好,点击【确定】

当出现创建成功提示后执行restoresite.bat文件。

当执行restoresite.bat文件后就是漫长的等待了。Stsadm需要解析bak文件,然后将解析后的内容存储到sharepoint内容数据库中,之间有比较大的网络流量,在做过应用服务器和数据库服务器做过直连后还原速度有了显著提升。配置直连时请注意在sharepoint上更改数据库连接为直连ip。

3、当还原完站点后,需要拷贝sp.listview控件所需dll并且修改web.Config配置文件

我们的网站使用了sp.listview控件,如果要使该控件继续可以使用,需要做如下操作:

首先将\\192.168.10.59\c$\Inetpub\wwwroot\wss\VirtualDirectories\80\_app_bin
目录下的SP.ListViewer.dll复制到C:\WINDOWS\assembly和C:\Inetpub\wwwroot\wss\VirtualDirectories\80\_app_bin目录下。

然后修改C:\Inetpub\wwwroot\wss\VirtualDirectories\80目录下web.config文件,增加 <SafeControl Assembly="SP.ListViewer"
Namespace="SP.ListViewer" TypeName="*"
Safe="True" />

最后重启iis

三. 备份还原.bat完整实例

备份文件.bat

@echo 备份 fudengSharepoint项目
@echo off
set "oldpath=C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN"
set "url=http://192.168.10.59:80"
set timename=%date:~,%%date:~,%%date:~,%%time:~,%%time:~,%%time:~,%
set "backpath=C:\backup\fudeng_%timename%.bak" cd %oldPath%
@echo 位置:%oldpath%
@echo 项目地址:%url%
@echo 备份路径:%backpath%
@echo 按任意键进入开始备份
pause @echo 正在备份中,请稍后.....
stsadm.exe -o backup -url %url% -filename %backpath% -overwrite @echo 备份成功..
pause

还原文件.bat

@echo 还原 fudeng Sharepoint项目
@echo off
set "oldpath=C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN"
set "url=http://192.168.11.31:80"
set "restorefilepath=C:\backup\fudeng_201307080143641.bak" cd %oldPath%
@echo 位置:%oldpath%
@echo 项目地址:%url%
@echo 还原文件路径:%restorefilepath%
@echo 按任意键进入开始还原
pause @echo 正在关闭IIS.....
iisreset /stop
@echo 成功关闭IIS..... @echo 正在还原网站集.....
cd %oldpath%
stsadm.exe -o restore -url %url% -filename %restorefilepath% –overwrite
@echo 成功还原网站集. @echo 正在开启IIS
iisreset /start
@echo 成功开启IIS pause