O backup de DiskShadow / Robocopy do Exchange não limpa os arquivos de log

3

Eu tenho uma série de scripts para fazer o backup do meu Exchange. O seguinte comando é executado para iniciar o processo:

diskshadow /s C:\Backup_Scripts\exchangeserverbackupscript1.dsh

Isso é 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

E isso é 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

Isso não está fazendo com que o Exchange limpe seus arquivos de log. O arquivo edb é de 4,7 gigabytes, mas a pasta First Storage Group em si tem mais de 50 gigabytes devido a muitos, muitos arquivos de log para cada dia desde 2009 .

Existe alguma maneira - eu pesquisei no Google e não encontrei nada - para notificar o Exchange quando eu tiver concluído um backup completo e tê-lo limpando seus arquivos de log?

De acordo com isso e isso , backup final deve fazer com que o Exchange" libere os logs de transação para esse grupo de armazenamento "mas somente" se um backup bem sucedido de um grupo de armazenamento ocorreu ", o que deixa minha pergunta como:

O que constitui um "backup bem-sucedido" e por que o que estou fazendo não é?

    
por Robert Allan Hennigan Leahy 17.04.2012 / 22:38

1 resposta

5

Em geral, o bloco BEGIN BACKUP / END BACKUP indicaria o Exchange para truncar os logs. Mas para que isso funcione, você deve ter criado um instantâneo de todos os volumes com dados relacionados ao Exchange - assim, se você separou dados e logs de transações, precisaria capturar instantaneamente os dados. em> e o volume do Tlog.

Além disso, você deve certificar-se de que seu script exchangeserverbackupscript1.cmd realmente retorne com um código de saída igual a zero - se não o o script diskshadow abortaria e a linha" backup final "nunca seria executada. Acredito que o robocopy sairia com o código de saída "1" na cópia de arquivo bem-sucedida, que pode apresentar a raiz do problema, pois o nível de erro da robocopy seria o nível de erro do lote se a robocopy for o último comando executado. Tente adicionar uma verificação condicional para o sucesso do robocopy e um exit /B 0 para o final do seu arquivo de lote.

    
por 17.04.2012 / 23:43