Резервное копирование базы Postgre SQL или Microsoft SQL в Windows в файл выгрузки информационной базы (dt) без закрытия открытых сессий клиентов

12.12.25

База данных - Архивирование (backup)

Резервное копирование баз Postgre SQL или Microsoft SQL в Windows скриптами командной строки. Создание файлов выгрузки dt без закрытия открытых сессий клиентов.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Резервное копирование базы (bat файлы)
.zip 1,71Kb
10 2 500 руб. Купить
Резервное копирование базы (powershell скрипт)
.zip 1,87Kb
6 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Доброго времени суток. Продолжаю публикации "ленивым" админам. 

Первая статья (Резервное копирование PostgreSQL) вышла сравнительно давно, с тех пор утекло много воды. С появлением новых возможностей движка 1С решил переделать свои bat файлы, для создания полноценных dt файлов из указанных баз с возможностью хранения  указанного количества копий.

  • 1. Реализация через (bat) файл:

Итак, какие появились изменения в настройках файла params.bat:

rem Основные дирректории исполняемых файлов postgres и 7z

set BINPATH1C="C:\Program Files\1cv8\8.3.27.1688\bin"
set PATH7Z="C:\Program Files\7-Zip"

rem Основные дирректории обработки
set WORKPATH=D:\scripts
set BACKUPPATH=d:\MyBackup

rem тип SQL "MSSQLServer" или "PostgreSQL"
set DBms="PostgreSQL"

rem адрес или доменное имя по которому доступен SQL сервер.
set DB_server="localhost"

rem Базы SQL сервера - перечисление (base1 base2 base3 base4)
set SQLBASES=(zup_base)

rem имя пользователя на SQL сервере, которому доступны необходимые базы данных.
SET DB_User="postgres"
SET DB_PWD=*******

rem имя пользователя в 1С от базы.
SET Base_User="Admin"
SET Base_PWD=******

rem Количество дней  до удаляемой (в бекап дириектории)
SET DAYSAGO=2

Здесь, надеюсь, вопросов не должно появиться. Для работы с несколькими базами создал в каждой пользователя с повышенными правами, но не показывая его в списке.

В строках SET DB_PWD=password и SET Base_PWD=password - укажите свои пароли. Естественно, для Microsoft SQL - имя пользователя sa.

Обязательно наличие на компьютере утилиты ibcmd.exe (идет в составе дистрибутива 1С - когда ставится сервер). 

Bat файл для запуска - db_backup_dt.bat. Ссылку на него Вы можете разместить в планировщике задач Windows.

P.S. Оставил архивирование файла после создания dt. Если не нужно  то в файле db_backup_dt.bat введите следующие изменения: 

rem %PATH7Z%\7z.exe a -tzip %PGTMP%\%%i_%f_name%.zip %PGTMP%\%%i_%f_name%.dt >>%logfile% 
move /y %PGTMP%\%%i_%f_name%.dt %BACKUPPATH%\%f_name%\%%i_%f_name%.dt >>%logfile% 
del %PGTMP%\%%i_%f_name%.dt >>%logfile% 

Впрочем, ничто не мешает Вам вносить и другие изменения.

  • 2. Реализация через PowerShell скрипт:

 

Здесь практически тоже самое по настройкам:

#Основная дирректория исполняемых файлов 1с
$BINPATH1C="C:\Program Files\1cv8\8.3.22.2143\bin"

#Директория хранения бэкапов
$BACKUPPATH="F:\backup_1c"

#тип SQL "MSSQLServer" или "PostgreSQL"
$DBms="PostgreSQL"

#адрес или доменное имя по которому доступен SQL сервер.
$DB_server="localhost"

#Базы SQL сервера - перечисление через запятую (base1,base2,base3,base4)
$SQLBASES=@("mag_prod")

#имя пользователя на SQL сервере, которому доступны необходимые базы данных.
$DB_User="postgres"
$DB_PWD="password"

#имя пользователя в 1С от базы.
$Base_User="backup"
$Base_PWD="password"

#Количество дней  до удаляемой (в бекап дирриектории)
$DAYSAGO=2

Единственное изменение в объявлении массива баз для создания резервных копий.

  • Кроме того, стоит подсказать, что для запуска powershell скриптов нужно понизить уровень политики, для этого выполнить в powershell команду: set-executionpolicy remotesigned
  • Для объявления задачи в планировщике задач Windows :
# Пример запуска в планировщике заданий (директория скрипта: C:\backup1c_scripts) 
# Вкладка - ДЕЙСТВИЯ -> Добавляем новую запись
# в окошке действия:
# 1. Запуск программы
# 2. Программа или сценарий: powershell.exe
# 3. Добавить аргументы: -ExecutionPolicy Bypass -NonInteractive -WindowStyle Hidden -File "C:\backup1c_scripts\backup1c.ps1"

 

Необходимое послесловие: 

Скрипты работают при ежедневном выполнении резервного копирования. Для задач, типа "по дням" - могут не удалять старую копию.

 

Сие поделие появилось по итогам статьи: Автономный сервер. Часть 2 - утилита управления . Автору выражаю большую благодарность.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.4 от 28.05.2026

7320 руб.

06.11.2012    80383    635    45    

94

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    451    nedomolkov.ivan    10    

5

Архивирование (backup) Инструменты администратора БД Системный администратор Разработчик 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)

Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера

1 стартмани

21.01.2026    6495    66    war41k    0    

18

Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Разработчик Бесплатно (free)

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    14185    nasonkin    19    

31

Архивирование (backup) Учет документов Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.

12200 руб.

19.02.2025    2939    3    0    

3

Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)

Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.

20.01.2025    5970    Prelude    5    

12

Архивирование (backup) 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Резервные копии базы 1С без завершения сеансов: .dt, файл базы, PostgreSQL, MS SQL, своя команда. Расписание, профили, ротация, ZIP, FTP, журнал и письмо об ошибке. Платформа 8.3+ (кроме 8.2), любая конфигурация с БСП. Подключение за 5 минут.

5000 руб.

27.08.2024    4135    1    6    

2

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Разработчик 1С:Предприятие 8 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    10673    1CUnlimited    11    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2770 03.12.25 14:15 Сейчас в теме
Хорошая идея, но я бы по-другому сделал)
2. paulwist 04.12.25 09:04 Сейчас в теме
Естественно, для Microsoft SQL - имя пользователя sa


Хех, а что делать если логин sa disable или SQL-аутентификация отключена??
3. user598613_svp_gamma 33 04.12.25 14:24 Сейчас в теме
(2) "По рекомендациям Microsoft, логин sa не следует использовать, если в этом нет реальной необходимости. Вместо него рекомендуется использовать аутентификацию Windows или Entra ID и именованные учётные записи администраторов." - Может стоит завести именованную учетку для доступа именно к базе 1с.. Не силен в MS SQL в таких тонкостях.
Для отправки сообщения требуется регистрация/авторизация