我有一系列脚本设置来备份我的Exchange.执行以下命令以启动进程:
diskshadow /s C:\Backup_Scripts\exchangeserverbackupscript1.dsh
这是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
这是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
这不会导致Exchange清除其日志文件. edb文件是4.7千兆字节,但First Storage Group文件夹本身是50千兆字节,因为每天有许多日志文件可以追溯到2009年.
有没有办法 – 我用Google搜索并且没有找到任何东西 – 在我完成完整备份时通知Exchange,并清除其日志文件?
根据this和this,最终备份应该使Exchange“刷新该存储组的事务日志”,但仅“如果存储组的成功备份发生”,这使我的问题为:
是什么构成了“成功的备份”,为什么我不这样做呢?
通常,BEGIN BACKUP / END BACKUP块将指示Exchange截断日志.但是为了使其工作,您应该已经创建了包含Exchange相关数据的所有卷的快照 – 因此,如果您有分离的数据和事务日志,则需要对数据和Tlog卷进行快照.
此外,您应该确保您的脚本exchangeserverbackupscript1.cmd确实返回退出代码为零 – 如果它不是diskshadow script would abort并且“结束备份”行永远不会执行.我相信成功的文件复制后,robocopy会以退出代码“1”退出,这可能会显示问题的根源,因为如果robocopy是最后执行的命令,则robocopy的错误级别将是批处理的错误级别.尝试添加条件检查以获取robocopy的成功,并将退出/ B 0添加到批处理文件的末尾.