web-dev-qa-db-ja.com

Exchange DiskShadow / Robocopyバックアップはログファイルを削除しません

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年に戻る

完全バックアップが完了したときにExchangeに通知し、ログファイルを削除する方法はありますか?Googleで検索しましたが何も見つかりませんでしたか?

this および this によると、end backupにより、Exchangeは「トランザクションログをフラッシュする必要があります。そのストレージグループの場合」ですが、「ストレージグループのバックアップが成功した場合」のみであり、私の質問は次のようになります。

「成功したバックアップ」を構成するものと、それを実行していないのはなぜですか?

一般に、BEGIN BACKUP/END BACKUPブロックは、Exchangeにログを切り捨てるように通知します。ただし、それが機能するためには、Exchange関連のデータを含むallボリュームのスナップショットを作成する必要があります-したがって、データとトランザクションログを分離している場合、データTlogボリュームの両方のスナップショットを作成する必要があります。

また、スクリプトexchangeserverbackupscript1.cmdが本当にゼロの終了コードで返されることを確認する必要があります-そうでない場合 diskshadowスクリプトは中止されます そして「バックアップの終了」行は決して実行されません。 robocopyが最後に実行されたコマンドである場合、robocopyのエラーレベルはバッチのエラーレベルになるため、ファイルコピーが成功すると、robocopyは終了コード「1」で終了すると思います。これは問題の根本を示す可能性があります。 robocopyの成功の条件付きチェックとexit /B 0をバッチファイルの最後に追加してみてください。

5
the-wabbit