http://ucworld.blog.51cto.com/811917/549720

想让自己安心些?那就一定要做好LYNC的备份工作,以下文章译自微软MCS的Traci Herr。原文地址:

http://blogs.technet.com/b/uc_mess/archive/2011/03/17/lync_2d00_server_2d00_2010_2d00_backup_2d00_instructions.aspx

 


以下脚本需要在LYNC的前端上运行,并且安装有SQL客户端和工具。

在你的LYNC前端上,在C盘创建一个名为“backup”的文件夹,然后下面的内容拷贝到记事本内,另存为backup.ps1。然后把文章后面的三个文件也拷贝到相同的目录下。

***修改SQL的服务器和实例名, LYNC共享的路径已经相关的用户名和密码***(我已经标记为红色,译者注)

这个脚本备份CSConfig, LISConfig,联系人列表和会议目录,本地计算机上的全部SQL数据库和证书。

cd $env:UserProfile
Import-Module 'C:\Program Files\Common Files\Microsoft Lync Server 2010\Modules\Lync\Lync.psd1'
$filename = "c:\backup\{0:yyyy.MM.dd-HH.mm}-CSconfig.zip" -f (Get-Date)
$filename1 = "c:\backup\{0:yyyy.MM.dd-HH.mm}-LISconfig.zip" -f (Get-Date)
export-csconfiguration -Filename $filename -Force:$True
export-cslisconfiguration -Filename $filename1
c:\backup\dbimpexp.bat

osql -E -S sql2008\RTC -i c:\backup\backup.sql

Net Use b: \\sql2008\LyncShare
Xcopy B:\ c:\Backup\LyncShare /E /I /Y
Net Use B: /delete

Net Use S: \\sql2008\c$\Backup /User:Domain\Administrator p@ssw0rd1
Xcopy S:\ c:\Backup\SQLdbBackup /E /I /Y
Net Use S: /delete

dir cert:\localmachine\my |
Where-Object { $_.hasPrivateKey } |
Foreach-Object { [system.IO.file]::WriteAllBytes(
"c:\backup\$($_.thumbprint).pfx",
($_.Export('PFX', 'secret')) ) }

cd\

 

DBImpExp - 备份联系人列表和会议目录,把下面的东西拷贝到一个批处理文件,然后命名为DBImpExp.bat,需要把这个批处理文件放在“C:\Backup”目录下。

**注意修改SQL服务器和实例名**

@ECHO OFF
REM For Standard Edition
"C:\Program Files\Common Files\Microsoft Lync Server 2010\Support\dbimpexp.exe" /hrxmlfile:"c:\backup\DBImpExp.xml"
@ECHO OFF
REM For Enterprise Edition
REM "C:\Program Files\Common Files\Microsoft Lync Server 2010\Support\dbimpexp.exe" /hrxmlfile:"c:\<fullFilePath>.xml" /sqlserver:<sql server host name>

 

备份所有的SQL数据库。

把下面的内容复制到记事本,然后另存为backup.sql,同样存放在LYNC前端的C:\Backup 目录内,另外在SQL服务器的C盘上也创建一个backup文件夹,把backup.sql也放到这个目录内。

DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name

SET @path = 'C:\Backup\'

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName

FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor
DEALLOCATE db_cursor

 

 

备份带有私钥的证书:

这个在backup.ps1内已经有了,不过也可以在不是前端的机器上运行来实现备份证书和私钥。

dir cert:\localmachine\my |

Where-Object { $_.hasPrivateKey } |

Foreach-Object { [system.IO.file]::WriteAllBytes(

"c:\backup\$($_.thumbprint).pfx",

($_.Export('PFX', 'secret')) ) }

 

备份语音配置 (从管理界面Cscp)

在Windows内创建计划任务
 

针对 powershell -command C:\Backup\backup.ps1创建一个计划任务

现在你把所有的备份东西存放在了一个位置,你可以使用Windows自带的备份工具或者第三方的备份工具来备份你的c:\Backup文件夹

 

另外你需要确保LYNC所依赖的其它组件也得到相应的备份:

活动目录(RTC服务容器和所有的应用了策略和池指派的用户)

负载均衡器的配置

防火墙配置

DNS配置

DHCP配置

PSTN网关配置

备份的频率取决于不同公司的策略。

同样重要的是,在故障的时候,你需要有一个涉及到恢复数据和服务(比如用户服务、会议等)的灾难恢复规划。