É comum termos a necessidade de utilizarmos um aplicativo para compactação de bkps ou arquivos na rede ou local de maneira automatizado.

A Solução apresentada abaixo, pode ser pensada inclusive como solução de backup basico em alguns casos.

Vamos abordar a utilização de backups com o 7zip:

Criar a estrutura de Diretorios:

C:\Backup

C:\Backup\Scripts

C:\Backup\Logs

C:\Backup\Compacto

Script para Compactação de arquivos:

 

:Variaveis

set DATA=%date:~6,4%-%date:~3,2%-%date:~0,2%

:obs, opcionalmente Podemos colocar na lista de exceção algum subdiretorio usando o parametro -xr!MeuDiretorio no 7-zip
set Arquivos-Origem=\\eficienti.local\arquivos\Comum

set Arquivos-Temp=C:\Backup\Dados
set Arquivos-Destino=C:\Backup\Compacto\Compacto-%DATA%

set Report-Email=C:\Backup\Scripts\Envio_Email.vbs
set Log7z=C:\Backup\Logs
set Mensagem=Erro na compactacao dos arquivos de Backup
set MensagemCopia=Erro na Copia de um ou mais arquivos de Backup

================================================================
:Copiar arquivos para Maquina Local
del %Arquivos-Temp% /q
xcopy %Arquivos-Origem% %Arquivos-temp% /E/Y/I
if %%errorlevel% neq 0 (Goto erro)

:inicio

::Historico – delete arquivo com mais de 30 dias
forfiles /P %Arquivos-Destino% /S /D -30 /c “cmd /c del @file”
forfiles /P %Log7Z% /M *.log /S /D -30 /c “cmd /c del @file”

:Compact
:Verifique se o caminho do 7zip esta no local correto
“c:\Program Files\7-Zip\7z.exe” a -t7z %Arquivos-Destino% %Arquivos-Temp% > %Log7z%\Incremental_Compacto_%DATA%.log

if %ERRORLEVEL% NEQ 0 (Goto Erro2)

if %ERRORLEVEL% EQU 0 (Goto FIM)

:FIM
exit

:Erro
cscript %Report-Email% “%MensagemCopia%”

Goto Inicio

:Erro2
cscript %Report-Email% %Mensagem%

Goto FIM

Anúncios