Exchange DiskShadow/Robocopy 备份不会清除日志文件

Exchange DiskShadow/Robocopy 备份不会清除日志文件

我设置了一系列脚本来备份我的 Exchange。执行以下命令来启动该过程:

diskshadow /s C:\Backup_Scripts\exchangeserverbackupscript1.dsh

这是交换服务器备份脚本1.dsh

#DiskShadow script file

set verbose on
#delete shadows all
set context persistent
writer verify {76fe1ac4-15f7-4bcd-987e-8e1acb462fb7}
set metadata C:\Backup_Scripts\shadowmetadata.cab
begin backup
add volume C: alias SH1

create

expose %SH1% P:
exec C:\Backup_Scripts\exchangeserverbackupscript1.cmd
end backup
delete shadows exposed P:
exit
#End of script

这是exchangeserver备份脚本1.cmd

robocopy "P:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group" "\\leahyfs\J$\E-Mail Backups\Day 1" /MIR /R:0 /W:0 /COPY:DT /B

这不会导致 Exchange 清除其日志文件。教育局文件大小为 4.7 GB,但第一仓储集团由于每天有大量日志文件,文件夹本身的大小超过 50 GB回到2009年

有没有什么办法——我已经在 Google 上搜索过了,但没有找到任何东西——可以在我完成完整备份时通知 Exchange,并让其清除其日志文件?

根据结束备份应该会导致 Exchange刷新该存储组的事务日志“ 但只有 ”如果存储组备份成功“,这让我的问题是:

什么构成了“成功备份”?为什么我所做的不是成功备份?

答案1

一般来说,BEGIN BACKUP / END BACKUP 块会向 Exchange 发出信号,要求其截断日志。但为了使其正常工作,您应该创建全部包含 Exchange 相关数据的卷 - 因此,如果您已将数据和事务日志分开,则需要对两者进行快照 - 数据Tlog 卷。

此外,你应该确保你的脚本exchangeserverbackupscript1.cmd确实返回了退出代码为零 - 如果它没有diskshadow 脚本将会中止并且“结束备份”行永远不会被执行。我相信 robocopy 会在成功复制文件后以“1”的退出代码退出,这可能是问题的根源,因为如果 robocopy 是最后执行的命令,那么 robocopy 的错误级别将是批处理的错误级别。尝试在exit /B 0批处理文件末尾添加一个条件检查来检查 robocopy 是否成功。

相关内容