Как защитить данные 1С: резервные копии файловой и серверной базы
Содержание
Самый быстрый ручной бэкап файловой базы 1С — выгрузка в .dt: в Конфигураторе откройте Администрирование → Выгрузить информационную базу и сохраните файл. Для клиент-серверной базы копию делают средствами СУБД (MS SQL или PostgreSQL), а не через Конфигуратор. Ниже — оба подхода, расписание, хранение и восстановление резервной копии.
Способ зависит от того, как хранится база. Файловая лежит в одном файле 1Cv8.1CD внутри каталога — её можно просто скопировать или выгрузить в .dt. Серверная хранит данные в СУБД, и правильная резервная копия снимается на стороне СУБД: так копия получается согласованной и её можно делать без остановки работы.
Резервное копирование и восстановление — две разные операции. Пока вы не восстановили копию в тестовую базу хотя бы раз, вы не знаете, рабочая она или нет.
Чтобы было видно, где какой способ уместен, сведём их в одну таблицу.
| Способ | Для какой базы | Можно во время работы | Главный риск |
|---|---|---|---|
Выгрузка .dt | файловая и серверная | нет, нужен монопольный доступ | долго на большой базе |
Копия каталога с 1Cv8.1CD | только файловая | нет, 1С должна быть закрыта | битая копия, если скопировать «на лету» |
| Бэкап средствами СУБД | только серверная | да, снимается на горячую | нужен доступ к SQL или PostgreSQL |
| Автокопирование из конфигурации (БСП) | только файловая | да, по расписанию или при выходе | не для клиент-сервера |
Файловая база: копия каталога или выгрузка в .dt
У файловой базы два рабочих способа, и они не взаимозаменяемы.
Выгрузка в .dt. Это логическая выгрузка всех данных и конфигурации в один сжатый файл.
- Запустите базу в режиме
Конфигуратор. - Меню
Администрирование → Выгрузить информационную базу. - Укажите имя файла — удобно с датой, например
buh_2026-11-08.dt. - Дождитесь завершения и проверьте, что файл создан и его размер не нулевой.
Плюс .dt — компактность и переносимость: файл не зависит от версии платформы в мелочах и грузится на другой компьютер. Минус — выгрузка требует, чтобы в базе никто не работал: Конфигуратор запросит монопольный доступ и не начнёт выгрузку, пока открыты сеансы пользователей.
Копия каталога базы. Второй способ — скопировать папку с файлом 1Cv8.1CD. Путь к каталогу виден в окне запуска 1С в строке под именем базы.
Копируйте весь каталог целиком, а не только 1Cv8.1CD. Рядом лежат служебные файлы (журнал регистрации, кэш), и полная папка восстанавливается без сюрпризов.
Копировать файл базы можно только когда 1С полностью закрыта на всех рабочих местах. Копия, снятая во время работы пользователей, почти наверняка окажется битой — её не получится открыть.
Когда что применять: .dt — для переноса и для архива «на всякий случай», копия каталога — для быстрого ежедневного бэкапа небольшой базы, когда вечером все вышли из программы.
1Cv8.1CD планировщиком Windows. Раз в неделю дополнительно выгружайте .dt на другой диск.pg_dump для PostgreSQL. .dt оставьте для разовых переносов.Клиент-серверная база: бэкап средствами СУБД
Если база работает на сервере 1С, данные физически лежат в СУБД. Снимать .dt через Конфигуратор на большой базе долго и требует выгнать всех пользователей — для регулярного бэкапа это не подходит. Правильная копия делается на стороне СУБД.
MS SQL Server. Резервную копию снимают командой BACKUP DATABASE или планом обслуживания. Пример полной копии:
BACKUP DATABASE [accounting]
TO DISK = N'D:\backup\accounting_full.bak'
WITH COMPRESSION, CHECKSUM, INIT;
Опция CHECKSUM включает контроль целостности при записи, COMPRESSION сжимает файл, INIT перезаписывает существующий. Такой бэкап снимается на работающей базе — пользователям останавливаться не нужно.
При модели восстановления Full дополнительно копируют журнал транзакций — это даёт восстановление на точку во времени (например, за минуту до ошибки оператора). При модели Simple журнал не копируется, и вернуться получится только к моменту последней полной или разностной копии. Для базы 1С с живым документооборотом обычно выбирают Full и копируют журнал в течение дня.
Чтобы не хранить каждый раз полную копию, добавляют разностные (differential) бэкапы: полная копия раз в сутки, разностные — каждые несколько часов. Разностная копия содержит только изменения с последней полной и занимает меньше места.
PostgreSQL. Логическую выгрузку одной базы делают утилитой pg_dump:
pg_dump -U postgres -F c -f /backup/accounting.dump accounting
Флаг -F c создаёт сжатый формат, который потом разворачивается через pg_restore. Для копии всего кластера баз есть pg_basebackup.
Имя базы в СУБД задаётся при создании информационной базы на сервере 1С. Посмотреть его можно в консоли администрирования серверов 1С в свойствах базы — поле с именем базы данных.
Встроенные средства платформы: Конфигуратор и БСП
У платформы есть два штатных механизма, и путать их не стоит.
Конфигуратор умеет только ручную выгрузку и загрузку .dt — пункты Выгрузить информационную базу и Загрузить информационную базу в меню Администрирование. Расписания здесь нет, это операция «по кнопке».
Автоматическое копирование в конфигурации (БСП). Типовые конфигурации на Библиотеке стандартных подсистем (Бухгалтерия, ЗУП, УТ и другие) содержат подсистему резервного копирования. Путь в режиме 1С:Предприятие:
Администрирование → Обслуживание → Резервное копирование и восстановление
Там настраивается автоматическая выгрузка: по расписанию или при завершении работы, с указанием каталога и числа хранимых копий.
Автоматическое резервное копирование из конфигурации работает только для файловых баз. На клиент-серверной базе этот раздел копию не снимает — там работает СУБД.
Если в меню Администрирование раздела «Обслуживание» нет, он может быть скрыт в настройках интерфейса — названия пунктов в разных конфигурациях немного отличаются.
Автоматизация: расписание и командная строка
Ручной бэкап забывают делать. Поэтому копирование ставят на расписание.
Планировщик Windows для файловой базы. Простой сценарий — скопировать каталог базы ночью. Выгрузку .dt без открытия Конфигуратора вручную делает платформа в пакетном режиме:
"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER /F"C:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\backup\buh.dt"
Параметр /F — путь к файловой базе, /N и /P — пользователь и пароль, /DumpIB — файл выгрузки. Для серверной базы вместо /F указывают /S"сервер\имя_базы". Команду ставят на запуск в Планировщике заданий Windows по ночам.
Пакетная выгрузка .dt, как и ручная, требует монопольного доступа. Если ночью кто-то оставил открытый сеанс, выгрузка не выполнится — для круглосуточных баз надёжнее бэкап средствами СУБД.
План обслуживания в MS SQL. В SQL Server Management Studio создаётся Maintenance Plan с задачей Back Up Database, расписание задаёт SQL Server Agent. Это стандарт для серверных баз: копия снимается на горячую, журнал транзакций — чаще, полная копия — раз в сутки.
cron для PostgreSQL. На Linux вызов pg_dump ставят в cron, на Windows — в Планировщик заданий. Разумная схема: полная выгрузка ночью плюс хранение нескольких суток назад.
В любом сценарии в имя файла копии подставляйте дату: так копии не затирают друг друга и видно, за какое число бэкап. Отдельной строкой в скрипте удаляйте копии старше заданного срока — иначе диск под бэкапы однажды переполнится, и новая копия просто не создастся. Проверять, что расписание отрабатывает, стоит хотя бы раз в месяц: задание может молча падать из-за смены пароля учётной записи, под которой оно запускается.
Где хранить копии и как проверить, что они живые
Копия на том же диске, где и база, — это не резервная копия. Отказал диск — пропало всё сразу.
Рабочий ориентир — правило 3-2-1:
- 🗂️ 3 копии данных: рабочая база плюс две резервные.
- 💾 2 разных носителя: например, диск сервера и внешний накопитель или сетевое хранилище.
- ☁️ 1 копия вне офиса: облако или физически другой адрес — на случай пожара, кражи, шифровальщика.
Храните несколько поколений: ежедневные за последнюю неделю, еженедельные за месяц, ежемесячные за год. Одна-единственная копия, которую каждый раз перезаписывают, не спасёт, если повреждение данных заметили не сразу. Классический случай — ошибочное удаление или перепроведение документов задним числом: заметить это могут через неделю, и тогда выручит только копия недельной давности, а не вчерашняя, куда ошибка уже попала.
Отдельно подумайте про шифровальщики. Вирус-вымогатель шифрует и сетевые папки, до которых дотянется, включая каталог с бэкапами. Поэтому хотя бы одна копия должна быть недоступна на запись из рабочей сети — выгрузка в облако или на носитель, который подключают только на время копирования.
Проверка целостности зависит от формата:
- Для
.bakMS SQL —RESTORE VERIFYONLY FROM DISK = N'D:\backup\accounting_full.bak' WITH CHECKSUM. - Для
.dtнадёжной проверки «на месте» нет: единственный способ убедиться — загрузить копию в тестовую базу и открыть её.
Восстановление базы 1С из резервной копии
Восстановление — обратная операция, и у каждого формата копии свой путь.
Загрузка .dt. В Конфигураторе: Администрирование → Загрузить информационную базу, указать файл .dt.
Загрузка .dt полностью стирает текущие данные базы и заменяет их содержимым копии. Если нужно сохранить то, что есть сейчас, сначала сделайте отдельную выгрузку текущей базы, а уже потом грузите копию. Операция требует монопольного доступа — пользователи должны выйти.
Восстановление из копии каталога. Закройте 1С на всех местах, замените каталог базы (или файл 1Cv8.1CD) сохранённой копией. База в списке запуска указывает на тот же путь — ничего перенастраивать не нужно.
Восстановление серверной базы. На MS SQL данные возвращают командой RESTORE DATABASE:
RESTORE DATABASE [accounting]
FROM DISK = N'D:\backup\accounting_full.bak'
WITH REPLACE;
На PostgreSQL копию формата pg_dump -F c разворачивают через pg_restore. После восстановления информационная база на сервере 1С продолжит работать с теми же данными — переопределять подключение не требуется, если имя базы в СУБД то же.
Перед восстановлением серверной базы остановите подключения пользователей к ней: вернуть данные под активными сеансами СУБД не даст. Это оборвёт работу всех, кто в базе, — делайте в согласованное окно.
Частые вопросы
Чем отличается копия каталога от выгрузки в `.dt`?
1Cv8.1CD, быстрая, но привязана к состоянию файла. Выгрузка .dt — логическая: платформа заново собирает данные в переносимый сжатый файл, он компактнее и легче грузится на другой компьютер, но делается дольше и требует монопольного доступа.Можно ли сделать бэкап, пока люди работают в базе?
.dt вручную нужно, когда все вышли, иначе копия может оказаться битой.Как часто делать резервную копию?
Почему `.dt` не загружается или грузится с ошибкой?
.dt рядом с номером релиза, на котором он снят.Нужно ли отдельно копировать конфигурацию?
.dt и копия каталога уже содержат и данные, и конфигурацию — отдельно ничего делать не нужно. Отдельная выгрузка конфигурации в .cf нужна для других задач (перенос доработок), а не для резервного копирования базы.