Потеря данных в 1С:Предприятие может обернуться катастрофой для бизнеса: от простоя бухгалтерии до утери критичных отчетов за годы. Причины сбоев разнообразны — от банального отключения электричества до вирусных атак или ошибок при обновлении конфигурации. Согласно статистике 1C, 37% обращений в поддержку связаны с восстановлением данных, из которых 68% можно было избежать при наличии актуального бэкапа.

Создание резервной копии базы — это не разовая процедура, а систематический процесс, который должен быть интегрирован в рабочий регламент компании. Однако многие администраторы и пользователи допускают типичные ошибки: копируют только файлы базы без транзакционных логов, хранят бэкапы на том же диске, что и рабочую базу, или игнорируют проверку целостности архивов. Эта статья поможет разобраться, как сделать резервную копию правильно — с учетом типа базы (файловый или клиент-серверный вариант), версии платформы и специфики инфраструктуры.

Мы рассмотрим все актуальные способы бэкапа: от ручного создания через Конфигуратор до автоматизации с помощью chdbfl.exe и сторонних утилит. Особое внимание уделим скрытым нюансам, которые часто упускают даже опытные администраторы — например, как правильно останавливать кластер серверов перед копированием или почему бэкап базы на PostgreSQL требует отдельного подхода.

Если вы никогда не занимались резервным копированием или ваши текущие бэкапы вызывают сомнения — эта инструкция станет вашим проверенным чек-листом. Для удобства материал структурирован по уровням сложности: от базовых действий для пользователей до продвинутых техник для ИТ-специалистов.

1. Подготовка к созданию резервной копии: что нужно знать до начала

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

Файловый вариант 1С (хранится в виде файлов .1CD) копируется проще — достаточно скопировать сам файл базы. Однако здесь есть подводный камень: если в момент копирования с базой работают пользователи, файл может быть заблокирован, а копия окажется неполной. Для клиент-серверного варианта (на Microsoft SQL Server, PostgreSQL или IBM DB2) требуются специальные утилиты или скрипты, так как данные хранятся в СУБД.

Обязательно проверьте:

  • 📌 Версию платформы 1ССправка → О программе). Для версий ниже 8.3.10 некоторые методы бэкапа могут не работать.
  • 🔄 Режим работы базы: если используется управляемое приложение, некоторые настройки бэкапа доступны только через Конфигуратор.
  • 💾 Свободное место на диске: резервная копия может занимать на 20–50% больше места, чем оригинальная база (особенно при сжатии).

Еще один критичный момент — пользователи в базе. Если копирование выполняется в рабочее время, предупредите сотрудников о необходимости завершить сеансы. Для принудительного отключения пользователей можно использовать команду в Конфигураторе:

Администрирование → Пользователи → Отключить всех пользователей
⚠️ Внимание: Если ваша база работает на PostgreSQL 12+, стандартный бэкап через pg_dump может не сохранить некоторые специфичные настройки , такие как права доступа к объектам метаданных. В этом случае требуется дополнительный экспорт конфигурации.

2. Способ 1: Резервное копирование через Конфигуратор 1С

Самый простой и визуально понятный метод — использование встроенного функционала Конфигуратора. Он подходит для файловых баз и клиент-серверных (с ограничениями). Главное преимущество — не требует знания командной строки или сторонних утилит.

Пошаговая инструкция:

  1. Закройте все сеансы 1С:Предприятия (включая фоновые задачи).
  2. Запустите Конфигуратор от имени администратора.
  3. Перейдите в меню Администрирование → Выгрузить информационную базу.
  4. Укажите путь для сохранения файла (рекомендуется сетевой диск или внешний накопитель).
  5. Нажмите Сохранить и дождитесь завершения процесса.

Для клиент-серверных баз в Конфигураторе доступна опция Администрирование → Резервное копирование и восстановление. Здесь можно создать бэкап непосредственно через интерфейс SQL Server или PostgreSQL, но для этого требуются права администратора СУБД.

Плюсы метода:

  • 👍 Простота — не нужны технические навыки.
  • 🔒 Сохраняются все объекты метаданных и данные.
  • 📂 Можно выбрать формат выгрузки (.dt для полной копии или .cf для конфигурации).

Минусы:

  • ❌ Не подходит для больших баз (свыше 50 ГБ) — процесс может занять часы.
  • ❌ Нет возможности настроить расписание автоматического копирования.
  • ❌ При сбое во время выгрузки файл копии может оказаться поврежден.

Закрыты все сеансы пользователей

Проверено свободное место на целевом диске (x1.5 от размера базы)

Указан путь вне системного диска (не C:)

Отключены антивирусные сканирования на время копирования

Сделан тестовый бэкап на небольшой тестовой базе

-->

3. Способ 2: Автоматическое копирование с помощью chdbfl.exe

Утилита chdbfl.exe — это встроенный инструмент платформы 1С:Предприятие, предназначенный для проверки и восстановления целостности баз данных. Однако ее можно использовать и для создания резервных копий, особенно для файловых баз. Главное преимущество — возможность автоматизации через планировщик задач Windows.

Утилита расположена в каталоге установки , например:

C:\Program Files (x86)\1cv8\<версия_платформы>\bin\chdbfl.exe

Базовый синтаксис команды для создания бэкапа:

chdbfl.exe "Путь_к_файлу_базы.1CD" /DumpIB "Путь_к_бэкапу.dt" /L"Путь_к_логу.txt"

Пример для базы C:\Bases\MyBase.1CD:

chdbfl.exe "C:\Bases\MyBase.1CD" /DumpIB "D:\Backups\MyBase_20260515.dt" /L"D:\Backups\log.txt"

Ключи команды:

КлючОписание
/DumpIBСоздать резервную копию базы в указанный файл.
/LУказать путь к файлу лога (для отслеживания ошибок).
/UCИгнорировать ошибки контрольных сумм (использовать с осторожностью!).
/ZipСжать резервную копию (доступно с версии платформы 8.3.14+).

Для автоматизации добавьте команду в Планировщик задач Windows:

  1. Откройте Пуск → Средства администрирования → Планировщик задач.
  2. Создайте новую задачу с триггером по расписанию (например, ежедневно в 23:00).
  3. В действии укажите путь к chdbfl.exe с необходимыми параметрами.
  4. Настройте запуск от имени администратора.
⚠️ Внимание: При использовании ключа /Zip на больших базах (>10 ГБ) процесс может занять значительно больше времени. Тестируйте производительность на вашем оборудовании!
💡

Если бэкап создается долго, разбейте процесс на два этапа: сначала выгрузите базу без сжатия (/DumpIB), а затем архивируйте результат с помощью 7-Zip или WinRAR с максимальной степенью сжатия. Это ускорит процесс и уменьшит размер конечного файла.

4. Способ 3: Резервное копирование баз на SQL Server

Для клиент-серверных баз на Microsoft SQL Server стандартный бэкап через Конфигуратор или chdbfl.exe не всегда оптимален. Вместо этого рекомендуется использовать встроенные инструменты SQL Server: SQL Server Management Studio (SSMS) или команду BACKUP DATABASE.

Пошаговая инструкция через SSMS:

  1. Подключитесь к серверу SQL Server с правами sysadmin.
  2. В объекте Databases найдите вашу базу (обычно название начинается с префикса 1C_).
  3. ПКМ по базе → Tasks → Back Up....
  4. Выберите тип бэкапа: Full (полный) или Differential (дифференциальный).
  5. Укажите путь для сохранения (рекомендуется сетевой ресурс).
  6. Нажмите OK и дождитесь завершения.

Для автоматизации используйте T-SQL скрипт:

BACKUP DATABASE [1C_BaseName]

TO DISK = N'D:\Backups\1C_BaseName_20260515.bak'

WITH COMPRESSION, STATS = 10, CHECKSUM;

Особенности бэкапа на SQL Server:

  • 🔹 Полный бэкап (FULL) — копирует всю базу, занимает много места, но восстанавливается быстро.
  • 🔹 Дифференциальный (DIFFERENTIAL) — копирует только изменения с последнего полного бэкапа, экономя место.
  • 🔹 Транзакционный журнал (LOG) — позволяет восстановить базу на конкретный момент времени, но требует регулярного архивирования.

Для критично сохранять цепочку транзакционных логов, если используется режим FULL или BULK_LOGGED. В противном случае восстановление до актуального состояния будет невозможно.

⚠️ Внимание: Если ваша база работает на SQL Server Express, учитывайте ограничение на размер базы (10 ГБ в версиях до 2019 года). При превышении лимита бэкап может не создаться!

Полный (FULL)

Дифференциальный (DIFFERENTIAL)

Транзакционные логи (LOG)

Не знаю / Не использую SQL Server

-->

5. Способ 4: Бэкап баз на PostgreSQL

Базы на PostgreSQL требуют особого подхода, так как стандартные инструменты Конфигуратора не всегда корректно обрабатывают специфику этой СУБД. Для надежного копирования используйте утилиту pg_dump, входящую в состав PostgreSQL.

Базовая команда для создания бэкапа:

pg_dump -U postgres_user -h localhost -p 5432 -F c -b -v -f "D:\Backups\1c_base_20260515.backup" 1c_base_name

Расшифровка ключей:

  • -U — имя пользователя PostgreSQL (обычно postgres или пользователь ).
  • -h — хост сервера (если база на удаленном сервере).
  • -p — порт (по умолчанию 5432).
  • -F c — формат custom (рекомендуется для ).
  • -b — включить BLOB-объекты (важно для ).
  • -v — подробный вывод (для отладки).
  • -f — файл для сохранения бэкапа.

Для восстановления используйте pg_restore:

pg_restore -U postgres_user -h localhost -p 5432 -d 1c_base_name -v "D:\Backups\1c_base_20260515.backup"

Важные нюансы для PostgreSQL:

  • 🛑 Остановка кластера не требуется, но рекомендуется приостановить работу пользователей.
  • 🔄 Версионность: бэкап, созданный на PostgreSQL 12, не восстановится на PostgreSQL 11.
  • 🔐 Права доступа: пользователь в PostgreSQL должен иметь права на чтение всех таблиц.

Для автоматизации настройте cron (Linux) или Планировщик задач (Windows). Пример для cron:

0 2   * /usr/bin/pg_dump -U postgres -F c -b -f /backups/1c/1c_base_$(date +\%Y\%m\%d).backup 1c_base
Что делать если pg_dump выдает ошибку "permission denied for table"?

Эта ошибка означает, что пользователь, от имени которого выполняется бэкап, не имеет прав на чтение некоторых таблиц. Решение

1. Подключитесь к PostgreSQL как суперпользователь (psql -U postgres).

2. Выполните команду: GRANT SELECT ON ALL TABLES IN SCHEMA public TO имя_пользователя_1С;

3. Повторите бэкап.

6. Проверка целостности и восстановление из резервной копии

Создание бэкапа — это только половина задачи. Не менее важно проверять целостность копий и уметь восстанавливать данные в случае сбоя. По статистике, 22% резервных копий оказываются непригодными для восстановления из-за ошибок при создании или хранении.

Как проверить бэкап:

  • 🔍 Для файлов .dt (созданных через Конфигуратор или chdbfl.exe) используйте команду:
    chdbfl.exe "Путь_к_бэкапу.dt" /CheckIB
  • 🗃️ Для бэкапов SQL Server (.bak) выполните проверку через SSMS:
    RESTORE VERIFYONLY FROM DISK = N'D:\Backups\1C_BaseName.bak';
  • 🐘 Для PostgreSQL проверьте архив на наличие ошибок:
    pg_restore -l "Путь_к_бэкапу.backup" | grep -i error

Восстановление из бэкапа:

  1. Для файловой базы:
    1. Запустите Конфигуратор.
    

    2. Выберите Администрирование → Загрузить информационную базу.

    3. Укажите путь к файлу .dt.

  2. Для SQL Server:
    RESTORE DATABASE [1C_BaseName]
    

    FROM DISK = N'D:\Backups\1C_BaseName.bak'

    WITH REPLACE, STATS = 10;

  3. Для PostgreSQL:
    pg_restore -U postgres -d 1c_base_name -v "D:\Backups\1c_base.backup"

Если восстановление не удается, проверьте:

  • 🔹 Совпадают ли версии платформы 1С (бэкап с версии 8.3.18 не восстановится на 8.3.15).
  • 🔹 Достаточно ли места на диске для развертывания базы.
  • 🔹 Нет ли блокировок со стороны антивируса или системы контроля версий.
⚠️ Внимание: При восстановлении базы на SQL Server с использованием опции WITH REPLACE все текущие данные будут безвозвратно удалены. Убедитесь, что вы восстанавливаетесь в правильную базу!
💡

Регулярно тестируйте восстановление из бэкапов на тестовом сервере! Это единственный способ гарантировать, что копии работоспособны в случае реального сбоя.

7. Типичные ошибки и как их избежать

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

Ошибка 1: Хранение бэкапов на том же диске, что и рабочая база

Если диск выйдет из строя, вы потеряете и базу, и ее копии. Решение: используйте правило 3-2-1:

  • 💾 3 копии данных (оригинал + 2 бэкапа).
  • 🖥️ 2 разных носителя (например, локальный диск + облако).
  • 🌍 1 копия вне офиса (защита от пожара/кражи).

Ошибка 2: Отсутствие проверки целостности бэкапов

Бэкап может быть поврежден из-за сбоев диска или ошибок записи. Решение: автоматизируйте проверку с помощью скриптов (см. раздел 6).

Ошибка 3: Игнорирование транзакционных логов (для SQL/PostgreSQL)

Без логов вы не сможете восстановить базу на момент перед сбоем. Решение: настройте регулярное архивирование логов:

  • Для SQL Server:
    BACKUP LOG [1C_BaseName] TO DISK = N'D:\Backups\1C_BaseName_log.trn';
  • Для PostgreSQL:
    В файле postgresql.conf установите:
    

    wal_level = replica

    archive_mode = on

    archive_command = 'copy %p /backups/postgres/wal/%f'

Ошибка 4: Использование устаревших методов копирования

Например, простое копирование файла .1CD через Проводник Windows может привести к повреждению данных, если база в этот момент используется. Решение: всегда используйте специализированные инструменты (chdbfl.exe, SQL Server Management Studio, pg_dump).

Ошибка 5: Отсутствие документации по процедурам восстановления

В стрессовой ситуации легко забыть последовательность действий. Решение: ведите журнал бэкапов с указанием:

  • 📅 Даты и времени создания копии.
  • 📊 Размера бэкапа.
  • 🔧 Использованного метода (например, pg_dump -F c).
  • 📋 Особенных замечаний (например, "бэкап создан при работающих пользователях").
💡

Создайте аварийную инструкцию для сотрудников с пошаговым планом действий при потере данных. Включите в нее контакты ответственных лиц, пути к бэкапам и команды для восстановления. Распечатайте ее и храните в доступном месте (не на сервере!).

8. Автоматизация резервного копирования: инструменты и скрипты

Ручное создание бэкапов неэффективно и чревато ошибками. Автоматизация позволяет гарантировать регулярность копирования и снизить риск потери данных. Рассмотрим популярные инструменты и подходы.

1. Встроенные средства Windows:

  • 🖥️ Планировщик задач + chdbfl.exe/pg_dump (см. разделы 3 и 5).
  • 📁 Robocopy для инкрементального копирования файлов базы:
    robocopy "C:\Bases\" "D:\Backups\1C\" /MIR /Z /R:3 /W:5 /LOG:"D:\Backups\log.txt"

2. Сторонние утилиты:

ИнструментПоддержка 1СОсобенности
Veeam BackupФайловые и SQL-базыИнкрементальные бэкапы, репликация, проверка целостности.
Acronis Cyber BackupВсе типы базОблачное хранение, шифрование, кросс-платформенность.
1C:BackupВсе типы базСпециализированное решение от , интеграция с облаком 1С:Диск.
BaculaSQL/PostgreSQLOpen-source, гибкая настройка, поддержка лентовых накопителей.

3. Скрипты на PowerShell/Bash:

Пример скрипта для PowerShell, который создает бэкап файловой базы и отправляет уведомление по email:

$BasePath = "C:\Bases\MyBase.1CD"

$BackupPath = "D:\Backups\MyBase_$(Get-Date -Format 'yyyyMMdd_HHmm').dt"

$LogPath = "D:\Backups\log.txt"

$EmailTo = "admin@example.com"

& "C:\Program Files (x86)\1cv8\8.3.20.1566\bin\chdbfl.exe" $BasePath /DumpIB $BackupPath /L$LogPath

if ($LASTEXITCODE -eq 0) {

Send-MailMessage -To $EmailTo -Subject "Бэкап 1С успешно создан" -Body "Файл: $BackupPath" -SmtpServer "smtp.example.com"

} else {

Send-MailMessage -To $EmailTo -Subject "ОШИБКА бэкапа 1С!" -Body "Код ошибки: $LASTEXITCODE. Лог: $LogPath" -SmtpServer "smtp.example.com"

}

Для Linux (bash-скрипт для PostgreSQL):

#!/bin/bash

BACKUP_DIR="/backups/1c"

DATE=$(date +%Y%m%d_%H%M)

PG_USER="postgres"

DB_NAME="1c_base"

pg_dump -U $PG_USER -F c -b -f $BACKUP_DIR/${DB_NAME}_$DATE.backup $DB_NAME

if [ $? -eq 0 ]; then

echo "Бэкап успешно создан: ${DB_NAME}_$DATE.backup" | mail -s "Бэкап 1С" admin@example.com

else

echo "ОШИБКА создания бэкапа!" | mail -s "ОШИБКА бэкапа 1С" admin@example.com

fi

4. Облачные решения:

  • ☁️ 1С:Диск — интеграция с 1С:Предприятие, версия для бизнеса поддерживает автоматическое копирование.
  • ☁️ Yandex Cloud/S3 — для хранения бэкапов с доступом по API.
  • ☁️ Azure Backup — для баз на SQL Server с поддержкой долговременного хранения.
⚠️ Внимание: При использовании облачных сервисов учитывайте скорость канала и стоимость трафика. Например, выгрузка базы размером 100 ГБ при скорости 10 Мбит/с займет ~22 часа и может повлечь дополнительные расходы у провайдера.
💡

Автоматизация бэкапов должна включать не только создание копий, но и их проверку, ротацию (удаление старых копий) и уведомления об ошибках. Без этих элементов система резервного копирования неэффективна.

FAQ: Частые вопросы о резервном копировании 1С

🔹 Как часто нужно делать бэкап базы 1С?

Частота зависит от интенсивности изменений данных:

  • 📌 Ежедневно — для бухгалтерских баз с высокой нагрузкой.
  • 📌 Еженедельно — для справочных или малоизменяемых баз.
  • 📌 Перед критичными операциями (обновление конфигурации, массовая загрузка данных).

Дополнительно настройте инкрементальные бэкапы (для SQL/PostgreSQL) или транзакционные логи для возможности восстановления на любой момент времени.

🔹 Можно ли сделать бэкап, если пользователи работают в базе?

Для файловых базнет