Rob*_*ahy 3 backup exchange windows-server-2008 robocopy vss
我设置了一系列脚本来备份我的 Exchange。执行以下命令以启动进程:
diskshadow /s C:\Backup_Scripts\exchangeserverbackupscript1.dsh
Run Code Online (Sandbox Code Playgroud)
这是exchangeserverbackupscript1.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
Run Code Online (Sandbox Code Playgroud)
这是exchangeserverbackupscript1.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
Run Code Online (Sandbox Code Playgroud)
这不会导致 Exchange 清除其日志文件。该EDB文件是4.7千兆字节,但第一个存储组文件夹本身是50+千兆字节由于每天很多很多的日志文件可以追溯到2009年。
有什么办法——我用谷歌搜索过但没有找到任何东西——在我完成完整备份时通知 Exchange 并清除其日志文件?
根据this和this,结束备份应该导致Exchange“刷新该存储组的事务日志”,但只有“成功备份存储组”,这让我的问题是:
什么构成“成功备份”,为什么我做的不是它?
通常,BEGIN BACKUP / END BACKUP 块会通知 Exchange 截断日志。但为了使其正常工作,您应该使用与 Exchange 相关的数据创建所有卷的快照- 因此,如果您将数据和事务日志分开,则需要同时创建快照 - 数据和Tlog 卷。
此外,您应该确保您的脚本exchangeserverbackupscript1.cmd
真正返回的退出代码为零 - 如果不是,diskshadow 脚本将中止并且“结束备份”行将永远不会被执行。我相信 robocopy 会在成功复制文件后以退出代码“1”退出,这可能是您问题的根源,因为如果 robocopy 是最后执行的命令,robocopy 的错误级别将是您的批处理的错误级别。尝试exit /B 0
在批处理文件的末尾添加对 robocopy 成功和 an 的条件检查。
归档时间: |
|
查看次数: |
3499 次 |
最近记录: |