@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%"