Создание резервных копий информационных баз — ключевая задача при администрировании системы 1С. Однако организация этого процесса для файлового режима работы имеет ряд важных особенностей по сравнению с клиент-серверными базами СУБД (SQL). В этой статье мы подробно разберем, почему копирование файловой базы во время работы пользователей несет риски, какие существуют проверенные инструменты для автоматизации архивации и как настроить надежную систему хранения бэкапов.
Рассмотрим главную проблему, с которой сталкиваются администраторы: возможность снятия копии без отключения пользователей. В клиент-серверном варианте эти задачи решает СУБД через команды транзакционного архивирования. В файловом же варианте весь массив данных хранится в едином файле 1Cv8.1CD.
Проанализируем ситуация, когда пользователь работает с базой в момент копирования:
VSS Writer для файловых баз, данные из оперативной памяти пользователей могут не попасть в архивный снимок тома..dt не подходит для регулярного бэкапа: Фирма 1С прямо указывает, что файл выгрузки .dt предназначен для миграции баз между режимами работы, а не для регулярного резервного копирования. Выгрузка в .dt требовательна к ресурсам, требует монопольного режима и может успешно создаться даже из базы со скрытыми повреждениями, но при этом не развернуться обратно.Вывод: Для 100% гарантии сохранности данных файловую базу необходимо копировать в моменты, когда сеансы пользователей завершены и активные транзакции отсутствуют (например, в ночное время).
Рассмотрим популярные программные решения, созданные специально для автоматизации бэкапов 1С и файловых систем.
Effector Saver: Одно из самых удобных решений для файловых и серверных баз 1С. Программа умеет автоматически завершать сеансы пользователей перед началом копирования, выполняет архивацию по расписанию, поддерживает сжатие и отправку архивов на сетевые диски, FTP-серверы или в облачные хранилища.
Cobian Backup: Бесплатная утилита для гибкой настройки архивации. Хотя официальная поддержка программы прекращена, она остается популярным инструментом благодаря высокой надежности. Позволяет настроить запуск по расписанию без использования планировщика Windows, вести глубину архива (удалять старые копии) и копировать данные по сети.
Разберем вариант, не требующий установки стороннего программного обеспечения. В операционных системах Windows Server доступна штатная компонента «Система архивации данных Windows Server» (Windows Server Backup).
Основные преимущества данного метода:
Для файловых баз 1С существует специализированное сервисное решение — 1С:Облачный архив. Данный модуль встраивается в работу платформы и выполняет автоматическое копирование баз в защищенное облачное хранилище 1С.
Сервис самостоятельно контролирует расписание, проверяет отсутствие активных действий в базе и загружает зашифрованные архивы в удаленный дата-центр, что защищает данные от физического выхода из строя оборудования в офисе.
Выясним, как настроить бесплатный и гибкий бэкап с помощью стандартных командных файлов (BAT/CMD) и консольной версии архиватора 7-Zip.
Посмотрим на пример командного файла, который архивирует файл 1Cv8.1CD, исключает служебные файлы блокировок и сохраняет архив с текущей датой в имени:
@echo off
set DB_PATH=C:\1C_Bases\Accounting
set BACKUP_PATH=D:\Backups\1C
set ARCHIVER=C:\Program Files\7-Zip\7z.exe
for /f "tokens=1-3 delims=. " %%a in ('date /t') do set DATE_TAG=%%c-%%b-%%a
"%ARCHIVER%" a -tzip "%BACKUP_PATH%\Backup_%DATE_TAG%.zip" "%DB_PATH%\1Cv8.1CD" -xr!1Cv8.lck -xr!1Cv8tmp*
forfiles /p "%BACKUP_PATH%" /s /m *.zip /d -14 /c "cmd /c del @path"
Проанализируем ключевые параметры этого скрипта:
-xr!1Cv8.lck и -xr!1Cv8tmp* исключают из архива файлы блокировок и временные файлы сеансов. Попадание файла 1Cv8.lck в архив может заблокировать доступ к базе при ее последующем восстановлении.forfiles автоматически удаляет резервные копии старше 14 дней, предотвращая переполнение дискового пространства.Для создания надежной системы резервного копирования рекомендуем придерживаться следующих правил:
chdbfl.exe, которая находится в каталоге bin установленной платформы 1С. Запускайте проверку на копии базы, чтобы своевременно выявить физическое повреждение таблиц./UC: Если копирование выполняется штатно средствами 1С или встроенными механизмами БСП, настраивайте автоматическую блокировку сеансов с установкой ключа разрешения /UC для сервисного пользователя.