Резервная копия базы 1С 8.3: от выгрузки .dt до ночного скрипта и проверки восстановления

· 9 мин

Содержание

Самый быстрый способ сделать резервную копию базы 1С — открыть базу в Конфигураторе и выбрать Администрирование → Выгрузить информационную базу. Получится один файл .dt с конфигурацией, данными и списком пользователей. Из него базу можно поднять на любом компьютере.

Частое заблуждение — что бэкап 1С делается копированием папки с базой «как обычно». Копия файла 1Cv8.1CD, снятая на ходу, пока бухгалтер проводит документы, может оказаться битой. Копировать файл можно, но только когда в базе никого нет. Для клиент-серверной базы копия папки вообще не годится: данные лежат в СУБД, и бэкап делают её средствами.

Почему простая копия папки с базой 1С подводит

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

Что бывает с такой копией:

  • 🧩 база не открывается или открывается с ошибкой формата;
  • 🔁 тестирование и исправление находит «битые» таблицы;
  • 📉 часть последних документов пропадает без всяких сообщений.

Копия файла 1Cv8.1CD надёжна, если в момент копирования к базе никто не подключён. Проверить это можно в Конфигураторе: Администрирование → Активные пользователи. Такой способ быстрее выгрузки .dt на больших базах, но требует дисциплины: ночью, по расписанию, после того как все вышли.

Файл .cf — это только конфигурация, без данных. Сохранить .cf через Конфигурация → Сохранить конфигурацию в файл и считать это резервной копией — ошибка. Для бэкапа нужен .dt или копия самой базы.

Какая у вас база?

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

Этот способ работает и для файловой, и для серверной базы. Нужен пользователь с полными правами.

  1. Запустите 1С и выберите базу в списке.
  2. Нажмите Конфигуратор, введите имя и пароль администратора.
  3. В меню выберите Администрирование → Выгрузить информационную базу.
  4. Укажите папку и имя файла, например buh_2026-10-07.dt.
  5. Нажмите Сохранить и дождитесь сообщения о завершении выгрузки.

Выгрузка базы на 2 ГБ обычно занимает несколько минут, на 20 ГБ — десятки минут. Чтобы снимок был согласованным, запускайте выгрузку, когда пользователи не проводят документы: перед обновлением, в обед или вечером.

Если в базе нет пользователей, в Конфигуратор пустит без пароля любого. Если пользователи есть, а пароль администратора утерян, выгрузить базу этим способом не получится.

Встроенное резервное копирование в типовых конфигурациях

В файловом варианте Бухгалтерии 3.0, ЗУП 3.1, УТ 11 есть собственный помощник: Администрирование → Обслуживание → Резервное копирование и восстановление. Он делает копию сам, по расписанию или при завершении работы, и хранит заданное число последних копий.

Удобно для небольшого офиса без администратора. Ограничение одно: для клиент-серверных баз помощник копию не делает — там отвечает СУБД.

Способ 2. Автоматический бэкап 1С из командной строки

Ручная выгрузка забывается на второй неделе. Поэтому выгрузку .dt ставят в планировщик Windows через пакетный запуск Конфигуратора с ключом /DumpIB.

Пример скрипта PowerShell backup1c.ps1. Путь к платформе подставьте свой — номер версии виден в папке C:\Program Files\1cv8\.

$stamp  = Get-Date -Format "yyyy-MM-dd_HH-mm"
$exe    = "C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
$base   = "D:\Bases\Buh"
$target = "E:\Backup1C"

$args1c = @(
  "DESIGNER",
  "/F`"$base`"",
  "/N`"Администратор`"",
  "/P`"Пароль`"",
  "/DumpIB`"$target\buh_$stamp.dt`"",
  "/Out`"$target\log_$stamp.txt`"",
  "/DisableStartupMessages"
)
Start-Process -FilePath $exe -ArgumentList $args1c -Wait

# хранить копии за последние 14 дней
Get-ChildItem "$target\*.dt" |
  Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-14) } |
  Remove-Item

Для серверной базы вместо /F"путь" укажите /S"имя_сервера\имя_базы".

Как поставить скрипт на расписание:

  1. Откройте Планировщик заданий (taskschd.msc) и создайте простую задачу.
  2. Триггер — ежедневно, например в 02:00.
  3. Действие — запуск программы powershell.exe с аргументами -ExecutionPolicy Bypass -File "C:\Scripts\backup1c.ps1".
  4. В свойствах задачи включите «Выполнять вне зависимости от регистрации пользователя».
  5. Утром проверьте файл log_*.txt: в нём должно быть сообщение об успешной выгрузке.

Пароль администратора 1С лежит в скрипте открытым текстом. Создайте для бэкапа отдельного пользователя с административными правами и закройте доступ к папке C:\Scripts всем, кроме администратора.

Если пользователи могут остаться в базе на ночь, выгрузка с ними тоже пройдёт, но снимок будет менее надёжным. Для файловой базы лучше сначала заблокировать вход через Администрирование → Обслуживание → Блокировка работы пользователей или договориться, что к 01:00 все выходят.

Способ 3. Бэкап базы 1С на SQL Server и PostgreSQL

В клиент-серверном варианте данные хранит СУБД. Её родной бэкап быстрее выгрузки .dt в разы и позволяет восстановиться на конкретный момент времени.

MS SQL Server

Полная копия одной командой T-SQL:

BACKUP DATABASE [buh]
TO DISK = N'E:\Backup1C\buh_full.bak'
WITH COMPRESSION, CHECKSUM, INIT, STATS = 10;

Что настроить:

  • 🗓️ Модель восстановления. SIMPLE — восстановиться можно только на момент полного бэкапа. FULL — плюс копии журнала транзакций каждые 15–60 минут и откат на любую минуту.
  • 🤖 Расписание. В редакциях с SQL Agent — через планы обслуживания в SSMS. В Express агента нет: запускайте sqlcmd с этой командой из планировщика Windows.
  • 🧹 Ротация. При модели FULL без бэкапа журнала файл .ldf растёт до заполнения диска.

COMPRESSION поддерживается не во всех редакциях SQL Server. Если команда выдаёт ошибку, уберите этот параметр.

PostgreSQL

Для баз 1С на PostgreSQL используют pg_dump в сжатом формате:

"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U postgres -Fc -f "E:\Backup1C\buh.backup" buh

На Linux команда та же, без пути к программе. Пароль удобно хранить в файле pgpass, а не в скрипте.

Выгрузку .dt на серверной базе оставьте для особых случаев: перед обновлением конфигурации, для переноса в файловый вариант, для передачи копии подрядчику.

Способ 4. Копия базы 1С в облаке: Яндекс Диск, Google Drive и сервисы 1С

Копия на том же диске, где база, спасает от ошибки пользователя, но не от поломки диска, шифровальщика или кражи ноутбука. Поэтому готовые файлы бэкапа отправляют за пределы компьютера.

ВариантКак работаетНа что смотреть
Яндекс Диск, Google DriveПапку с готовыми .dt включают в синхронизацию клиента облакаСинхронизировать только готовые копии, не рабочую базу
Сетевой диск или NASСкрипт копирует свежий .dt на другой компьютерДоступ к общей папке только у учётной записи бэкапа
Объектное хранилище S3Выгрузка через rclone или аналог по расписаниюШифрование архива и версия файлов
1С:Фреш, облачные 1С у партнёровБазу хранит и копирует провайдерКак часто делаются копии и как их получить

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

1С:Линк — это сервис удалённого доступа к базе через интернет, а не резервное копирование. Копии он не делает, их всё равно настраивают отдельно.

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

Способ 5. Сторонние программы для бэкапа 1С

Если писать скрипты некому, задачу закрывают готовые программы. Их несколько типов:

  • 🗂️ Утилиты под 1С (например, Effector Saver) — сами вызывают выгрузку .dt, архивируют, отправляют в облако или на FTP и пишут отчёт на почту.
  • 💾 Универсальные программы резервного копирования — копируют 1Cv8.1CD или .bak по расписанию, ведут версии и шифруют архивы.
  • 🖥️ Снимки виртуальных машин — если 1С работает на виртуальном сервере, снимок всей машины дополняет, но не заменяет бэкап базы.

Снимок виртуальной машины с работающим SQL Server может оказаться несогласованным. Поэтому даже при снимках ночной бэкап СУБД оставляют.

При выборе программы проверьте три вещи: умеет ли она уведомлять о сбое, хранит ли несколько поколений копий и шифрует ли архив паролем.

Как восстановить базу 1С из резервной копии

Из файла .dt

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

Загрузку в рабочую базу делайте только когда копия уже проверена на пустой. Загрузка .dt полностью заменяет данные базы — всё, что внесли после копии, пропадёт. Перед этим выгрузите текущее состояние в отдельный .dt: вдруг понадобятся последние документы.

Загрузка требует монопольного доступа, поэтому пользователей нужно предупредить: их сеансы придётся завершить.

Пакетно это делает ключ /RestoreIB:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh_test" /N"Администратор" /P"Пароль" /RestoreIB"E:\Backup1C\buh_2026-10-07_02-00.dt" /Out"E:\Backup1C\restore.txt"

Из копии файла 1Cv8.1CD

Положите файл в новую папку и добавьте её в список баз: Добавить → Добавление в список существующей информационной базы. Старую испорченную базу не перезаписывайте сразу — переименуйте её папку.

Из бэкапа SQL Server

RESTORE DATABASE [buh_test]
FROM DISK = N'E:\Backup1C\buh_full.bak'
WITH MOVE 'buh' TO N'D:\SQLData\buh_test.mdf',
     MOVE 'buh_log' TO N'D:\SQLData\buh_test_log.ldf',
     STATS = 10;

Логические имена файлов (buh, buh_log) у вашей базы могут быть другими — посмотрите их командой RESTORE FILELISTONLY FROM DISK = N'...'. Затем зарегистрируйте базу в кластере 1С через консоль администрирования серверов и укажите в ней восстановленную базу SQL.

Для PostgreSQL восстановление идёт через pg_restore -U postgres -d buh_test "E:\Backup1C\buh.backup" в заранее созданную пустую базу.

Как убедиться, что копия рабочая

Проверка занимает 15–20 минут и делается на тестовой базе, а не на рабочей:

  1. Поднимите копию в пустую базу с именем вроде Buh_test.
  2. Откройте её в режиме 1С:Предприятие под обычным пользователем.
  3. Найдите последний документ, проведённый перед бэкапом, и сравните дату и номер.
  4. Сформируйте оборотно-сальдовую ведомость за текущий месяц в обеих базах и сверьте итоги.
  5. Удалите тестовую базу из списка, чтобы никто случайно не начал в ней работать.

Если итоги совпадают, а последний документ на месте, копия годится. Запишите дату проверки — через месяц повторите.

Ошибки, из-за которых бэкап 1С не спасает

Копия есть, а восстановиться не получается — ситуация частая. Причины обычно такие:

ОшибкаЧем оборачиваетсяКак избежать
Копию ни разу не пробовали восстановитьФайл оказался пустым или битымРаз в месяц поднимать копию в тестовую базу
Скрипт тихо перестал работатьПоследний бэкап — полугодовой давностиСмотреть лог или настроить уведомление о сбое
Копии лежат на том же дискеДиск умер вместе с копиямиПравило 3-2-1: три копии, два носителя, одна вне офиса
Сохранили .cf вместо .dtЕсть конфигурация, нет данныхПроверять расширение и размер файла
Хранится одна копия, перезаписываемая каждую ночьОшибку заметили через три дня — копия уже с ошибкойХранить 7–30 поколений
Расширения и внешние обработки не сохранилиПосле восстановления не работают печатные формыХранить .epf, .erf, .cfe рядом с бэкапом

Расширения конфигурации входят в выгрузку .dt, а внешние отчёты и обработки, подключённые из файлов, — нет, если они лежат вне базы. Подключённые через справочник «Дополнительные отчёты и обработки» хранятся в базе и попадают в копию.

Частые вопросы

Как часто делать бэкап 1С?
Не реже раза в день для рабочей базы и обязательно перед обновлением, закрытием месяца и сдачей отчётности. Для серверной базы с большим потоком документов — плюс копии журнала каждый час.
Почему файл .dt меньше, чем 1Cv8.1CD?
В .dt данные сжаты, а в файле базы есть служебное и пустое место. Разница в 3–10 раз нормальна.
Сохраняются ли в .dt пользователи и пароли?
Да. После загрузки .dt в базе будет тот же список пользователей с теми же паролями.
Можно ли загрузить .dt в базу на другой версии платформы?
Как правило, да, если платформа на новом компьютере не ниже той, на которой сделана выгрузка. Загрузка в более раннюю версию платформы может не пройти.
Сколько места нужно под копии?
Ориентир — размер одного .dt, умноженный на число хранимых копий, плюс запас. Для .dt на 1 ГБ и 14 копий хватит примерно 20 ГБ.