Обновить backup.bat

This commit is contained in:
2026-09-25 10:17:48 +03:00
parent d06720bd71
commit 16e6eec1b9
+40 -40
View File
@@ -1,41 +1,41 @@
@echo off @echo off
:: --- НАСТРОЙКИ --- :: --- НАСТРОЙКИ ---
set "Source=C:\Bases\ssd\Farmtek" set "Source=C:\Bases\ssd\Farmtek"
set "SMBShare=\\fileserver.mediaprod.ru\public\!Backup\srv1c7\" set "SMBShare=\\fileserver.mediaprod.ru\public\!Backup\srv1c7\"
set "BackupDir=Backups" set "BackupDir=Backups"
set "DaysToKeep=30" set "DaysToKeep=30"
set "DriveLetter=Z:" set "DriveLetter=Z:"
set "PathTo7Zip=C:\Program Files\7-Zip\7z.exe" set "PathTo7Zip=C:\Program Files\7-Zip\7z.exe"
:: --- 1. РАСЧЕТ ТЕКУЩЕЙ ДАТЫ --- :: --- 1. РАСЧЕТ ТЕКУЩЕЙ ДАТЫ ---
set "Y=%date:~-4%" set "Y=%date:~-4%"
set "M=%date:~-7,2%" set "M=%date:~-7,2%"
set "D=%date:~-10,2%" set "D=%date:~-10,2%"
set "DateStamp=%Y%-%M%-%D%" set "DateStamp=%Y%-%M%-%D%"
:: — 2. ЗАКРЫТИЕ 1C ДЛЯ УСПЕШНОЙ АРХИВАЦИИ --- :: — 2. ЗАКРЫТИЕ 1C ДЛЯ УСПЕШНОЙ АРХИВАЦИИ ---
Taskkill /F /IM 1cv7.exe taskkill /F /IM 1cv7.exe
:: --- Временное имя архива на локальном диске --- :: --- Временное имя архива на локальном диске ---
set "LocalZip=C:\1C7BACKUPS\bases\backup_%DateStamp%.zip" set "LocalZip=C:\1C7BACKUPS\bases\backup_%DateStamp%.zip"
:: --- 3. СЖАТИЕ В АРХИВ --- :: --- 3. СЖАТИЕ В АРХИВ ---
:: "a" - добавить в архив, "-mx5" - нормальное сжатие (можно mx9 для максимального) :: "a" - добавить в архив, "-mx5" - нормальное сжатие (можно mx9 для максимального)
"%PathTo7Zip%" a -mx5 "%LocalZip%" "%Source%\" "%PathTo7Zip%" a -mx5 "%LocalZip%" "%Source%\"
:: --- 4. КОПИРОВАНИЕ АРХИВА НА SMB --- :: --- 4. КОПИРОВАНИЕ АРХИВА НА SMB ---
copy "%LocalZip%" "%SMBShare%\" copy "%LocalZip%" "%SMBShare%\"
:: --- Удаляем временный локальный архив --- :: --- Удаляем временный локальный архив ---
del /q "%LocalZip%" del /q "%LocalZip%"
:: --- 5. ВРЕМЕННОЕ ПОДКЛЮЧЕНИЕ ДИСКА И ОЧИСТКА СТАРЫХ АРХИВОВ --- :: --- 5. ВРЕМЕННОЕ ПОДКЛЮЧЕНИЕ ДИСКА И ОЧИСТКА СТАРЫХ АРХИВОВ ---
net use %DriveLetter% "%SMBShare%\" /persistent:no net use %DriveLetter% "%SMBShare%\" /persistent:no
pushd %DriveLetter% pushd %DriveLetter%
:: --- Ищем именно старые файлы (.zip), а не папки, и удаляем их --- :: --- Ищем именно старые файлы (.zip), а не папки, и удаляем их ---
forfiles /P . /M *.zip /D -%DaysToKeep% /C "cmd /c del /q @file" forfiles /P . /M *.zip /D -%DaysToKeep% /C "cmd /c del /q @file"
popd popd
:: --- 5. ОТКЛЮЧЕНИЕ СЕТЕВОГО ДИСКА --- :: --- 5. ОТКЛЮЧЕНИЕ СЕТЕВОГО ДИСКА ---
net use %DriveLetter% /delete /y net use %DriveLetter% /delete /y