Резервное копирование БД 1С средствами батника и выгрузка файловой базы в dt
База данных - Архивирование (backup)
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Была необходимость сделать резервного копирования БД.
Был выбран самый простой способ - это сжать файл *.1cd средствами батника.
Код батника совсем небольшой
echo off
cls
rem -- Убивам процесс 1С если он такой есть
taskkill /f /im 1cv8c.exe
rem --путь до архиватора
set path_7z="%programfiles%\7-Zip\7z.exe"
rem -- удаляем файлы больше 14 шт
dir *.7z /a:-D/b/o:-D > del_list_files.txt
for /F "skip=13" %%i in (del_list_files.txt) do (del /Q "%%i")
del del_list_files.txt
rem -----------------------------------------------
rem -- Данные пользователя
set user_1C="ПОЛЬЗОВАТЕЛЬ"
set pswd_1C="ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ"
rem -- Название базы
set name_base=НАЗВАНИЕ_БАЗЫ_БЭКАПА.7z
rem -- путь базы бэкапа
set name_base_backup="ПУТЬ_ЛОКАЛЬНОЙ_БАЗЫ"
setlocal
rem -- выгрузка базы данных
%path_7z% a -t7z -m0=LZMA2:x=9:fb=273:d=96m:mt=2 %name_base% %name_base_backup%
Батник можно подключить через TaskManager, стандартными средствами Windows и настроить расписание его выполнения. У своих клиентов используется везде, плюсом сделано копирование на ftp сервер баз со статическим ip
и отдельно скрипт выгрузки файловой базы в dt (кому чем пользоваться выбирает сам из религиозных побуждений)
echo off
cls
rem -- Убивам процесс 1С если он такой есть
taskkill /f /im 1cv8c.exe
rem -- удаляем файлы старше 14 шт
dir *.dt /a:-D/b/o:-D > del_list_files.txt
for /F "skip=13" %%i in (del_list_files.txt) do (del /Q "%%i")
del del_list_files.txt
rem -----------------------------------------------
rem -- определяем какая платформа 1С стоит х86 или х64,
rem -- пути у них разные
IF EXIST "%programfiles%\1cv8\common\1cestart.exe" (
set path_1C="%programfiles%\1cv8\common\1cestart.exe"
) ELSE (
set path_1C="%programfiles(x86)%\1cv8\common\1cestart.exe"
)
rem -----------------------------------------------
rem -- Данные пользователя
set user_1C="ПОЛЬЗОВАТЕЛЬ"
set pswd_1C="ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ"
rem -- Название базы
set name_base=НАЗВАНИЕ_БАЗЫ_БЭКАПА.dt
rem -- путь базы бэкапа
set name_base_backup="ПУТЬ_ЛОКАЛЬНОЙ_БАЗЫ"
setlocal
rem -- выгрузка базы данных
%path_1C% CONFIG /F%name_base_backup% /N%user_1C% /P%pswd_1C% /DumpIB %name_base%
добавлено:
копирование файла созданного бакуп-файла
rem -- Путь локальный где лежит созданный бэкап
set path_bac_local="ПУТЬ_ДО_БАКУП_ФАЙЛА"
rem -- Название базы
set name_base=НАЗВАНИЕ_БЭКАПА_КОТОРЫЙ_КОПИРОВАТЬ.(7z/dt)
rem --Директория копирования файла
set copy_dir=ПУТЬ_КУДА_БУДЕМ_КОПИРОВАТЬ
rem Копируем файл
xcopy %path_bac_local%%name_base% %copy_dir% /C /H /Y /R /I
Кому пригодился данный вариант, ставим звёздочку ))
Готовый файл прикреплён
Вступайте в нашу телеграмм-группу Инфостарт