exchange服务器备份和还原邮件
用户在使用客户端访问个人邮箱时,有时会因为某种误操作将邮件删除,如果说,邮件中包含重要的信息,则会对企业带来很大的不便和损失,对于exchange管理员来说,能够快速恢复已删除的邮件是一项非常重要的工作。exchange管理员如果想要恢复就必须要了解是通过那种方式造成的误删除。
对于exchange服务器来说,有三种类型的"删除":
删除:指从任何文件夹删除项目,该项目自动放置到"已删除邮件"文件夹;
软删除:指从"已删除邮件"文件夹删除项目,或用户使用shift+delete组合键删除项目(邮件服务器中的数据并没有被删除);
硬删除:指将项目标记为从邮件数据库中删除。
exchange邮箱数据库为以软删除的邮件规定保留期限,在期限内用户用户可以自行恢复已删除的项目而不用请求管理员,期限过后,邮件将从服务器彻底删除。
我们实验环节使用exchange server 2010来实现如何恢复邮件。
我们先来了解如何设置邮件在服务器中怎么设置默认保留时间,(默认情况下,exchange服务器保留的期限是14天,最大为24855天。)
下面模拟使用outlook客户端恢复指定的邮件
这样在客户端上就找不到邮件了,我们利用客户端来恢复指定的邮件
简单的客户端恢复邮件就是这样。
如果客户端的"恢复已删除的项"可以还原规定期限内被"软删除"的项目,但是对于超过规定期限或"硬删除"的邮件来说,就只能使用已有的备份来进行还原。
备份使用Windows server backup来实现,我们首先安装Windows server backup
Windows server backup安装完毕!
打开""服务"控制台,需要:
还需要为exchange服务器添加一块磁盘,用于保存备份。
接下来就可以利用Windows server backup备份exchange服务器的数据了
在实际生产环境中,建议首次备份选择"整个服务器",先对服务器数据、应用程序和系统状态等做一个完整备份而后的备份通过备份计划实施增量备份。
现在使用常规还原方式还原数据,
首先卸载数据库,
删除C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database 0035626591路径下的所有文件(根据自己实际情况而定)。
现在开始恢复
装入数据库
就会发现刚才删除的数据、邮件就全部回来了。
这种恢复方式有很大的弊端:
当恢复数据时,所有人都不能访问exchange服务器(因为数据库已经被卸载了);
只能恢复整个数据库的数据不能恢复指定用户的邮件。
另一种恢复方式:恢复数据库(RDB),很明显的解决了前两个的弊端。实现方法:
1.模拟误操作,删除数据及相关数据(不用卸载数据库)
2.创建空文件夹rdb,用于存放恢复数据库
3.将Windows server backup备份的数据恢复到新建的空文件夹rdb中(大致恢复步骤和常规恢复一样,不一样的截图说明)
接下来使用命令:
C:\Users\Administrator>cd c:\rdbc:\rdb>eseutil /mh "Mailbox Database 0035626591.edb"#用命令查看数据库是否处于"clean shutdown"状态Mailbox Database 0035626591.edb是被还原邮件数据库的文件名。
看出系统返回数据库状态是非正常关闭状态"Dirty shutdown"
需要使用这条命令
c:\rdb>eseutil /r e00 /i /d#重播日志到被还原邮箱数据库,使其恢复到正常关闭的状态
再次查看数据库的状态
接下来使用exchange服务自带的shell完成以下命令:
[PS] C:\Windows\system32>New-MailboxDatabase -recovery -name rdb1 -server WIN-7K2H4UIC7KT-edbfilepath "c:\rdb\Mailbox Database 0967116714.edb" -logfolderpath "c:\rdb"#创建恢复数据库(WIN-7K2H4UIC7KT是邮件服务器的名称)[PS] C:\Windows\system32>restart-service msexchangeis#重启信息存储服务[PS] C:\Windows\system32>Mount-Database -identity rdb1#装入恢复数据库[PS] C:\Windows\system32>Get-MailboxStatistics -database rdb1#查看已装入的恢复数据库里面是否包含需要还原的用户邮箱[PS] C:\Windows\system32>Restore-Mailbox -identity administrator -recoverydatabase rdb1#将指定邮箱从恢复数据库还原到在线数据库中
恢复完成!显然第二种恢复方式比较使用,就是通过命令执行,稍微麻烦!
验证实现效果!