Ok. Eu usei o Robocopy para separar os dados que tinham uma certa idade ou mais, depois usei o 7za para compactar e remover os arquivos temporários. Veja abaixo:
mkdir C:\Robocopy\Archive\Spool
mkdir C:\Robocopy\Archive\Spool\BackupLogs
mkdir C:\Robocopy\Archive\Spool\DRLogs
robocopy c:\Robocopy\Backup\BackupLogs\ C:\Robocopy\Archive\Spool\BackupLogs\ /move /minage:60
robocopy C:\Robocopy\Backup\DRLogs\ C:\Robocopy\Archive\Spool\DRLogs\ /move /minage:60
7za a c:\Robocopy\Archive\Archive.7z C:\Robocopy\Archive\Spool\
rmdir /S /Q C:\Robocopy\Archive\Spool
Estou lidando com dois conjuntos de arquivos de log aqui, um de backup no local e outro externo de recuperação de desastres (DR).
O Robocopy está disponível no Windows Resource Kit ( Aqui está a versão do Server 2003 ) e tem alguns recursos bem legais. O que eu uso aqui é o argumento / minage, que eu usei para especificar que arquivos de log com mais de 60 dias devem ser movidos (não copiados) para pastas apropriadas dentro de um diretório de Spool. Eu então comprimir o conteúdo do diretório de spool para um terceiro local e, finalmente, excluir o diretório de spool.