Была необходимость сделать резервного копирования БД.
Был выбран самый простой способ - это сжать файл *.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
Кому пригодился данный вариант, ставим звёздочку ))
Готовый файл прикреплён