Как настроить автоматическое резервное копирование файловой базы 1С с активными пользователями?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Особенности резервного копирования файловых баз в режиме 24/7

Разберем ситуацию, когда файловая база 1С (например, 1С:Бухгалтерия 3.0) используется в круглосуточном режиме несколькими пользователями (диспетчерами), и требуется организовывать еженощное создание резервных копий без участия оператора.

Главная техническая проблема файлового режима заключается в том, что прямой доступ к файлу базы 1Cv8.1CD во время записи активными сеансами может привести к логическому повреждению структуры таблиц и индексов. Простая выгрузка в формат .dt или теневое копирование файла при открытых сеансах также вызывают ошибки несогласованности данных.

Посмотрим на корректный алгоритм проведения резервного копирования файловой базы:

  1. Принудительное завершение всех активных сеансов пользователей.
  2. Установка блокировки начала новых сеансов.
  3. Создание копии файла 1Cv8.1CD или архивация.
  4. Снятие блокировки сеансов и разрешение входа пользователей.

Вариант 1. Использование встроенных механизмов БСП и Планировщика задач Windows

Проанализируем, как организовать процесс штатными средствами платформы 1С и операционной системы. В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) предусмотрен параметр командной строки для завершения работы пользователей.

Для автоматического запуска процесса, даже когда на сервере не выполнен интерактивный вход администратора, настроим задачу в Планировщике задач Windows (Task Scheduler) с запуском при старте системы.

Рассмотрим порядок вызова 1С из скрипта для блокировки сеансов:


"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "C:\Bases\MyBase" /N "Admin" /P "Password" /CЗавершитьРаботуПользователей

После вызова данного параметра программа завершит работу пользовательских сеансов и установит код разблокировки. Для последующего входа административного сеанса в заблокированную базу используется параметр /UC с указанием заранее заданного кода разблокировки:


"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" ENTERPRISE /F "C:\Bases\MyBase" /N "Admin" /P "Password" /UC "КодРазблокировки"

Для принудительного освобождения файловых дескрипторов на стороне Windows Server в случаях, когда сетевые сеансы удерживают файл 1Cv8.1CD, системные администраторы могут использовать командлет PowerShell:

Close-SmbOpenFile -Force

Вариант 2. Использование командного файла и архиваторов

Выясним, как выполнить физическое копирование файла базы данных после отключения пользователей. Для создания архива можно использовать консольный архиватор (например, 7-Zip).

Посмотрим на пример командного файла (батника) для упаковывания файла 1Cv8.1CD:


"C:\Program Files\7-Zip\7z.exe" a "D:\BackUp\Base_%DATE%_%time:~0,2%_%time:~3,2%.zip" -ssw "D:\Bases\1Cv8.1CD"

Обратим внимание на ключ -ssw в 7-Zip, который позволяет архиватору читать файлы, открытые другими процессами для записи. Однако применять его следует строго после принудительного завершения сеансов 1С, иначе архив может оказаться поврежденным.

Вариант 3. Использование специализированного ПО и сторонних утилит

Для упрощения администрирования файловых баз 1С часто применяются специализированные решения, такие как Обновлятор-1С или Cobian Backup.

Проанализируем их возможности:

  1. Обновлятор-1С: Специализированная утилита, умеющая автоматически завершать работу сеансов через БСП, блокировать базу, делать архивы и восстанавливать доступ пользователей. Работает по расписанию и может запускаться как служба Windows.
  2. Cobian Backup: Программа резервного копирования, работающая в режиме службы Windows. Умеет запускать перед бэкапом и после него внешние скрипты (скрипты завершения и восстановления доступа), управлять количеством хранящихся копий и удалять устаревшие архивы.

Важные предупреждения и частые ошибки

Разберем ключевые нюансы и ошибки, с которыми сталкиваются администраторы файловых баз 1С:

  1. Нельзя использовать .dt как основной бэкап: Режим выгрузки информационной базы (CONFIG /DumpIB) предназначен для переноса данных между платформами или СУБД, но не является средством оперативного резервного копирования. Кроме того, выгрузка .dt требует монопольного доступа к базе.
  2. Опасность «горячего» копирования: Прямое копирование файла 1Cv8.1CD при работающих пользователях создаст файл с нарушенной целостностью. При восстановлении такой базы потребуются утилиты исправления, такие как chdbfl.exe, и часть данных может быть утеряна.
  3. Выполнение регламентных заданий в файловом режиме: В файловой базе регламентные и фоновые задания выполняются только при запущенном клиенте 1С. Чтобы регламентные задания выполнялись автоматически после перезагрузки сервера, рекомендуем либо держать постоянный сеанс клиента 1С, либо запускать его через службу Windows (например, с использованием библиотеки NSSM).

При росте количества пользователей и круглосуточном режиме работы 24/7 оптимальным решением является переход с файлового режима на клиент-серверный (СУБД PostgreSQL или MS SQL Server). В клиент-серверном режиме резервное копирование выполняется средствами СУБД без остановки работы пользователей.

← На главную