Untitled

Anonymous
plain_text
03/24/2026 6:38 PM
2.7 KB
9
Indexable
@echo off
setlocal EnableExtensions

REM ===== CONFIG =====
set "SRC=D:\EMPRESA"
set "BASE_DEST=F:\SERVIDOR_NOVO"
set "LOGDIR=D:\BACKUP\logs"
set "RETENCAO=7"

REM ===== DATA SEGURA =====
for /f %%I in ('wmic os get localdatetime ^| find "."') do set datetime=%%I
set "DATA=%datetime:~0,4%-%datetime:~4,2%-%datetime:~6,2%"

set "DEST=%BASE_DEST%\%DATA%"
set "LOGFILE=%LOGDIR%\backup_hd_%DATA%.log"

REM ===== CHECAR HD =====
if not exist "F:\" (
        echo ERRO: HD externo nao conectado!
            exit /b 2
)

REM ===== CRIAR PASTAS =====
if not exist "%BASE_DEST%" mkdir "%BASE_DEST%"
if not exist "%DEST%" mkdir "%DEST%"
if not exist "%LOGDIR%" mkdir "%LOGDIR%"

echo ==========================================
echo BACKUP EMPRESA - %DATA%
echo ==========================================
echo Origem: %SRC%
echo Destino: %DEST%
echo ==========================================

echo ===== INICIO %date% %time% ===== >> "%LOGFILE%"

REM ===== ROBOCOPY =====
robocopy "%SRC%" "%DEST%" /MIR /MT:8 /R:2 /W:2 /XJ /FFT /ZB /TEE /LOG+:"%LOGFILE%"

set "RC=%errorlevel%"

echo ===== FIM %date% %time% | ExitCode=%RC% ===== >> "%LOGFILE%"

echo ==========================================
echo Robocopy terminou com codigo %RC%
echo ==========================================

REM ===== LIMPEZA (SO SE DEU CERTO) =====
if %RC% LSS 8 (
        echo Limpando backups antigos...

            powershell -NoProfile -Command ^
                "$base='F:\SERVIDOR_NOVO'; $dias=%RETENCAO%; ^
                    Get-ChildItem $base -Directory | ^
                        Where-Object { $_.Name -match '^\d{4}-\d{2}-\d{2}$' } | ^
                            Sort-Object Name -Descending | ^
                                Select-Object -Skip $dias | ^
                                    ForEach-Object { Remove-Item $_.FullName -Recurse -Force }"

) else (
        echo ERRO no backup. Nao vou apagar backups antigos.
)

echo ==========================================
echo PROCESSO FINALIZADO
echo ==========================================

timeout /t 3 >nul
exit /b %RC%
)
)
)
Editor is loading...
Leave a Comment