Загрузка данных


@echo off
chcp 1251 >nul

REM === Дата ===
set dd=%date:~0,2%
set mm=%date:~3,2%
set yyyy=%date:~6,4%
set curdate=%yyyy%-%mm%-%dd%

REM === Пути ===
set P=C:\Temp
set L=C:\BackupTools\Remote_backup\logs
set A=C:\Program Files\7-Zip

set DEST=\\10.10.0.10\Backu_IT\ZNP\backup
set curlog=%L%\%curdate%.txt

REM === Создание папки логов если нет ===
if not exist "%L%" mkdir "%L%"

echo ============================== >> "%curlog%"
echo [ %date% %time% ] Старт скрипта >> "%curlog%"

REM === Проверка доступности NAS ===
ping -n 1 10.10.0.10 >nul
if errorlevel 1 (
    echo [ %time% ] NAS недоступен >> "%curlog%"
    goto :eof
)

REM === Архивирование ===
echo [ %time% ] Начало архивирования >> "%curlog%"

"%A%\7za.exe" a -t7z -ssw -mx5 -r0 -x!*.7z "%P%\ZNP_%curdate%.7z" "%P%\" >> "%curlog%" 2>&1

if errorlevel 1 (
    echo [ %time% ] Ошибка архивирования >> "%curlog%"
    goto :eof
)

echo [ %time% ] Окончание архивирования >> "%curlog%"

REM === Копирование на NAS ===
echo [ %time% ] Копирование на NAS >> "%curlog%"

robocopy "%P%" "%DEST%" *.7z /Z /R:5 /W:5 /NP /LOG+:"%curlog%"

if %errorlevel% GEQ 8 (
    echo [ %time% ] Ошибка копирования >> "%curlog%"
    goto :eof
)

echo [ %time% ] Копирование завершено >> "%curlog%"

REM === Очистка локальных файлов ===
echo [ %time% ] Очистка временных файлов >> "%curlog%"

del /q "%P%\*.001" 2>nul
rmdir "%P%\AppSrv01" /S /Q 2>nul

REM === Удаление старых архивов (старше 30 дней) ===
echo [ %time% ] Очистка старых архивов >> "%curlog%"

forfiles /p "%P%" /s /m *.7z /d -30 /c "cmd /c del @path" >> "%curlog%" 2>&1

echo [ %time% ] Завершение скрипта >> "%curlog%"
echo ============================== >> "%curlog%"