Резервная копия базы 1С 8.3: от выгрузки .dt до ночного скрипта и проверки восстановления
Содержание
Самый быстрый способ сделать резервную копию базы
1С — открыть базу
в Конфигураторе и выбрать Администрирование → Выгрузить информационную базу. Получится один файл .dt с конфигурацией, данными и списком пользователей. Из него базу можно поднять на любом компьютере.
Частое заблуждение — что бэкап 1С делается копированием папки с базой «как обычно». Копия файла 1Cv8.1CD, снятая на ходу, пока бухгалтер проводит документы, может оказаться битой. Копировать файл можно, но только когда в базе никого нет. Для клиент-серверной базы копия папки вообще не годится: данные лежат в СУБД, и бэкап делают её средствами.
Почему простая копия папки с базой 1С подводит
Файловая база 1С — это один файл 1Cv8.1CD в каталоге базы. Пока с базой работают, платформа держит его открытым и пишет в него. Проводник или программа синхронизации скопируют файл в середине записи — и в копии окажется половина транзакции.
Что бывает с такой копией:
- 🧩 база не открывается или открывается с ошибкой формата;
- 🔁 тестирование и исправление находит «битые» таблицы;
- 📉 часть последних документов пропадает без всяких сообщений.
Копия файла 1Cv8.1CD надёжна, если в момент копирования к базе никто не подключён. Проверить это можно в Конфигураторе: Администрирование → Активные пользователи. Такой способ быстрее выгрузки .dt на больших базах, но требует дисциплины: ночью, по расписанию, после того как все вышли.
Файл .cf — это только конфигурация, без данных. Сохранить .cf через Конфигурация → Сохранить конфигурацию в файл и считать это резервной копией — ошибка. Для бэкапа нужен .dt или копия самой базы.
Способ 1. Резервная копия базы 1С через Конфигуратор
Этот способ работает и для файловой, и для серверной базы. Нужен пользователь с полными правами.
- Запустите 1С и выберите базу в списке.
- Нажмите
Конфигуратор, введите имя и пароль администратора. - В меню выберите
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла, например
buh_2026-10-07.dt. - Нажмите
Сохранитьи дождитесь сообщения о завершении выгрузки.
Выгрузка базы на 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"имя_сервера\имя_базы".
Как поставить скрипт на расписание:
- Откройте
Планировщик заданий(taskschd.msc) и создайте простую задачу. - Триггер — ежедневно, например в 02:00.
- Действие — запуск программы
powershell.exeс аргументами-ExecutionPolicy Bypass -File "C:\Scripts\backup1c.ps1". - В свойствах задачи включите «Выполнять вне зависимости от регистрации пользователя».
- Утром проверьте файл
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
- Создайте пустую базу: в окне запуска
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Подтвердите предупреждение о потере текущих данных и дождитесь окончания.
- Откройте базу в режиме 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 минут и делается на тестовой базе, а не на рабочей:
- Поднимите копию в пустую базу с именем вроде
Buh_test. - Откройте её в режиме 1С:Предприятие под обычным пользователем.
- Найдите последний документ, проведённый перед бэкапом, и сравните дату и номер.
- Сформируйте оборотно-сальдовую ведомость за текущий месяц в обеих базах и сверьте итоги.
- Удалите тестовую базу из списка, чтобы никто случайно не начал в ней работать.
Если итоги совпадают, а последний документ на месте, копия годится. Запишите дату проверки — через месяц повторите.
Ошибки, из-за которых бэкап 1С не спасает
Копия есть, а восстановиться не получается — ситуация частая. Причины обычно такие:
| Ошибка | Чем оборачивается | Как избежать |
|---|---|---|
| Копию ни разу не пробовали восстановить | Файл оказался пустым или битым | Раз в месяц поднимать копию в тестовую базу |
| Скрипт тихо перестал работать | Последний бэкап — полугодовой давности | Смотреть лог или настроить уведомление о сбое |
| Копии лежат на том же диске | Диск умер вместе с копиями | Правило 3-2-1: три копии, два носителя, одна вне офиса |
Сохранили .cf вместо .dt | Есть конфигурация, нет данных | Проверять расширение и размер файла |
| Хранится одна копия, перезаписываемая каждую ночь | Ошибку заметили через три дня — копия уже с ошибкой | Хранить 7–30 поколений |
| Расширения и внешние обработки не сохранили | После восстановления не работают печатные формы | Хранить .epf, .erf, .cfe рядом с бэкапом |
Расширения конфигурации входят в выгрузку .dt, а внешние отчёты и обработки, подключённые из файлов, — нет, если они лежат вне базы. Подключённые через справочник «Дополнительные отчёты и обработки» хранятся в базе и попадают в копию.