Резервная копия информационной базы 1С: от ручной выгрузки до ротации по расписанию
Содержание
Быстрее всего создать архив
базы 1С так: откройте базу в Конфигураторе и выберите Администрирование → Выгрузить информационную базу. Программа сохранит один файл с расширением .dt — в нём конфигурация и все данные. Из этого файла базу можно поднять на любом компьютере с платформой 1С:Предприятие 8.3.
Ручная выгрузка годится для разовой копии перед обновлением. Для ежедневной защиты нужен другой подход: для файловой базы — пакетный запуск 1cv8.exe по расписанию, для серверной — штатный бэкап СУБД. Ежедневная копия без проверки восстановления — это надежда, а не защита, поэтому пробный подъём архива входит в схему наравне с самой выгрузкой.
DT, копия файла или дамп СУБД: какой формат архива выбрать
Способов сделать резервную копию три. Они не взаимозаменяемы, и на сервере обычно используют два сразу.
| Формат | Как получить | Когда подходит | Ограничения |
|---|---|---|---|
Выгрузка .dt | Конфигуратор или 1cv8 DESIGNER /DumpIB | Файловые и небольшие серверные базы, перенос между компьютерами и СУБД | На базе в десятки гигабайт выгрузка идёт часами |
Копия файла 1Cv8.1CD | Копирование каталога базы, архивирование в zip | Файловые базы, быстрые копии | Копировать можно только при закрытой базе, иначе файл окажется несогласованным |
Бэкап СУБД (.bak, дамп PostgreSQL) | Средства MS SQL Server или pg_dump | Клиент-серверные базы любого размера | Восстанавливается только в ту же СУБД |
💡 Практичная связка для сервера: ежедневный бэкап средствами СУБД плюс выгрузка .dt раз в неделю. Бэкап СУБД быстро поднимает базу после сбоя. А .dt выручит, если понадобится перенести базу на другую СУБД или в файловый вариант.
Журнал регистрации в .dt не попадает. Он лежит отдельно, в подкаталоге 1Cv8Log рядом с файловой базой или в каталоге кластера на сервере. Если история действий пользователей важна, архивируйте этот каталог отдельно.
Как создать архив файловой базы 1С вручную
Выгрузка в .dt через Конфигуратор
- Попросите пользователей выйти из базы. Выгрузка на работающей базе возможна, но при активной записи данных копия может получиться несогласованной.
- Запустите 1С, выделите базу в списке и нажмите
Конфигуратор. - Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите каталог и имя файла. Удобно включать в имя дату:
buh_2026-10-07.dt. - Дождитесь сообщения о завершении выгрузки. Файловая база на 2–3 ГБ выгружается за несколько минут.
Данные в .dt уже сжаты платформой, поэтому архиватор почти не уменьшит файл. Обычно .dt заметно меньше исходного 1Cv8.1CD: в нём нет пустого места, которое накапливается в файле базы после удаления данных.
Копия каталога базы
Файловая база — это каталог с файлом 1Cv8.1CD. Путь к нему виден в окне запуска: выделите базу, и внизу появится строка File="D:\Bases\Buh".
- 📁 Закройте все сеансы, включая Конфигуратор.
- 📦 Скопируйте
1Cv8.1CDили весь каталог в архив zip. - 🗂️ Подкаталог
1Cv8Logкопируйте вместе с ним, если нужен журнал регистрации.
Такая копия делается за секунды и восстанавливается простой заменой файла. Минус один: если кто-то работал в базе в момент копирования, файл может оказаться повреждённым.
Резервное копирование из самой программы
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) для файловых баз есть встроенный помощник: Администрирование → Обслуживание → Резервное копирование и восстановление.
Там можно создать копию сейчас или включить автоматическое копирование при завершении работы либо по расписанию. Помощник сам завершает сеансы и сохраняет архив в указанный каталог. Работает он только для файловых баз в Windows: для клиент-серверной базы программа предложит пользоваться средствами СУБД.
Архивация клиент-серверной базы 1С на SQL
У серверной базы данные хранятся в СУБД, поэтому основной архив делают её средствами. Это быстрее выгрузки .dt в десятки раз и не мешает пользователям работать.
MS SQL Server
Разовая полная копия из SQL Server Management Studio: правый щелчок по базе → Tasks → Back Up… (в русской версии — Задачи → Создать резервную копию…). То же самое запросом:
BACKUP DATABASE [buh]
TO DISK = N'E:\Backup\buh_full.bak'
WITH COMPRESSION, INIT, CHECKSUM, STATS = 10;
- 🗜️
COMPRESSIONуменьшает файл в 4–8 раз. В редакции Express сжатие бэкапа недоступно, уберите параметр. - ✅
CHECKSUMпроверяет страницы при записи и сразу покажет повреждение. - 🔁
INITперезаписывает файл. Для истории копий меняйте имя файла.
Для ежедневного запуска используйте планы обслуживания (Management → Maintenance Plans) или задание SQL Server Agent. В Express агента нет — запускайте скрипт через sqlcmd из Планировщика заданий Windows.
Модель восстановления определяет, насколько точно можно откатиться. При SIMPLE возврат возможен только на момент последнего полного бэкапа. При FULL добавляются бэкапы журнала транзакций каждые 15–60 минут, и базу можно восстановить почти на любую минуту. Без регулярного бэкапа журнала при модели FULL файл .ldf будет расти до заполнения диска.
PostgreSQL
Дамп в сжатом формате:
"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U postgres -h localhost -F c -f "E:\Backup\buh.backup" buh
Ключ -F c даёт сжатый формат, который восстанавливают утилитой pg_restore. Пароль удобно хранить в файле pgpass.conf профиля пользователя, от имени которого идёт задание, — тогда скрипт не запросит его интерактивно. В Linux то же самое делают через cron, а файл называется ~/.pgpass.
Автоматическое создание архива базы через командную строку 1cv8
Для файловой базы ежедневный архив делают пакетным запуском Конфигуратора с ключом /DumpIB. Ниже скрипт, который выгружает базу, ставит дату в имя файла и удаляет копии старше 14 дней.
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set DEST=E:\Backup\Buh
set USR=Администратор
set PWD1C=секрет
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmm"') do set STAMP=%%i
%V8% DESIGNER /F "%BASE%" /N "%USR%" /P "%PWD1C%" /DisableStartupDialogs /DumpIB "%DEST%\buh_%STAMP%.dt" /Out "%DEST%\log_%STAMP%.txt"
forfiles /p "%DEST%" /m *.dt /d -14 /c "cmd /c del @path"
forfiles /p "%DEST%" /m log_*.txt /d -14 /c "cmd /c del @path"
Что поменять под себя:
- Путь к
1cv8.exe— номер версии в пути должен совпадать с установленной платформой. Проверьте каталогC:\Program Files\1cv8\. - Для серверной базы вместо
/F "%BASE%"укажите/S "srv1c\buh"— имя сервера и базы в кластере. - Если в базе нет пользователей, параметры
/Nи/Pуберите. - Сохраните файл в кодировке, которую понимает
cmd, например OEM 866, иначе кириллическое имя пользователя исказится. Проще завести для архивации пользователя с латинским именем, напримерbackup, с правами администратора.
Файл, указанный в /Out, — главный инструмент контроля. В нём платформа пишет, чем закончилась выгрузка. Пустой или отсутствующий .dt при записи об ошибке в логе означает, что копии в эту ночь нет.
Запуск по расписанию
Задание в Планировщике Windows создаётся одной командой (запускайте от администратора):
schtasks /Create /TN "1C Backup Buh" /TR "C:\Scripts\backup_buh.bat" /SC DAILY /ST 23:30 /RU backup_svc /RP *
- 🕚 Время ставьте после конца рабочего дня и до ночных регламентных заданий.
- 👤 Задание запускайте от отдельной учётной записи с правами на каталог базы и папку архивов. У учётной записи
SYSTEMнет доступа к сетевым папкам. - 🔒 Пароль 1С в bat-файле открытым текстом — компромисс. Закройте доступ к каталогу скриптов всем, кроме этой учётной записи и администраторов.
Если в момент запуска в базе остались пользователи, выгрузка может завершиться ошибкой. Для серверной базы перед выгрузкой можно включить блокировку сеансов в консоли кластера и указать код разрешения, а в команду добавить /UC <код>. Блокировка завершает работу пользователей — настраивайте её на нерабочее время и предупредите сотрудников.
Хранение архивов 1С и ротация копий
Архив на том же диске, что и база, защищает только от ошибки пользователя. При отказе диска или шифровальщике пропадут и база, и копии.
Рабочая схема — правило 3-2-1: три копии данных, на двух разных носителях, одна из них вне офиса. Для 1С это выглядит так:
| Где | Что хранить | Сколько |
|---|---|---|
| Второй диск сервера | Ежедневные архивы | 14 дней |
| Сетевое хранилище (NAS) | Ежедневные + еженедельные | 4–8 недель |
| Облако или съёмный диск вне офиса | Ежемесячные | 12 месяцев |
💡 Отдельно храните копию на конец года и после сдачи годовой отчётности. Если через полгода выяснится, что данные прошлого года испорчены, ротация на 14 дней уже не поможет.
Против шифровальщиков помогает копия, до которой нельзя дотянуться с сервера 1С: съёмный диск, который отключают после копирования, или хранилище с версиями файлов и запретом удаления. Сетевая папка, подключённая к серверу как диск с правом записи, шифруется вместе со всем остальным.
Восстановление базы 1С из созданного архива
Не восстанавливайте архив поверх рабочей базы, пока не проверили его на копии. Если архив битый, вы потеряете и его, и текущие данные.
Из файла .dt
- В окне запуска 1С нажмите
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. - Откройте новую пустую базу в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Подтвердите замену данных. Загрузка требует монопольного доступа: в базе не должно быть других сеансов.
- После загрузки откройте базу в режиме 1С:Предприятие и проверьте последние документы.
Загружайте .dt на той же или более новой версии платформы, чем та, на которой его выгрузили. Из командной строки загрузка выполняется ключом /RestoreIB "путь\файл.dt" вместо /DumpIB.
Из копии файла 1Cv8.1CD
Создайте пустой каталог, распакуйте туда 1Cv8.1CD и добавьте его в список баз как существующую. Если копия делалась встроенным помощником БСП, восстановить её можно там же, в разделе Резервное копирование и восстановление.
Из бэкапа MS SQL или PostgreSQL
MS SQL — восстановление в новую базу:
RESTORE DATABASE [buh_test]
FROM DISK = N'E:\Backup\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'...'.
PostgreSQL — создайте пустую базу и загрузите дамп:
"C:\Program Files\PostgreSQL\15\bin\createdb.exe" -U postgres -T template0 buh_test
"C:\Program Files\PostgreSQL\15\bin\pg_restore.exe" -U postgres -d buh_test "E:\Backup\buh.backup"
Восстановленную базу СУБД затем регистрируют в кластере 1С: в консоли администрирования серверов создайте новую информационную базу и укажите имя существующей базы данных. Галку создания базы данных в случае её отсутствия здесь не ставьте — база уже есть.
Почему архив оказывается бесполезным в нужный момент
Копии чаще подводят не из-за формата, а из-за того, что их никто не проверял.
- ❌ Скрипт молча падает месяцами. Сменили пароль администратора 1С или обновили платформу, путь к
1cv8.exeв bat-файле стал неверным. Решение — читать лог/Outили настроить уведомление по почте. - ❌ Копия файла сделана при открытой базе. Файл есть, размер нормальный, но при открытии база требует тестирования и исправления, а часть данных потеряна.
- ❌ Бэкап SQL без проверки восстановления. Файл
.bakможет оказаться неполным, если диск кончился посреди записи. Пробное восстановление раз в месяц снимает этот риск. - ❌ Архивы на том же диске. Отказ диска забирает базу и все копии.
- ❌ Сохранили только
.dt, а база огромная. Восстановление базы на 100 ГБ из.dtзанимает много часов. Для больших серверных баз основной архив — бэкап СУБД.
Частые вопросы
Как часто делать архив базы 1С?
Можно ли открыть файл .dt без загрузки в базу?
Сколько места нужно под архивы?
.dt весит 1,5 ГБ, то 14 ежедневных копий — около 21 ГБ, плюс 8 еженедельных — ещё 12 ГБ. Итого около 33 ГБ на диске для архивов.Подходит ли облачное хранилище для архивов 1С?
Нужен ли архив, если база в облаке у провайдера 1С?
.dt к себе, если сервис даёт такую возможность, — так у вас будет копия, не зависящая от провайдера.