Резервная копия 1С без сюрпризов: файловые и SQL-базы, расписание, ротация и проверка восстановлением

· 10 мин

Содержание

Архивировать базу 1С можно тремя способами. Файловую базу проще всего скопировать целиком: закрыть все сеансы и скопировать каталог с файлом 1Cv8.1CD. Универсальный способ для любого режима — выгрузка в файл .dt через Конфигуратор (Администрирование → Выгрузить информационную базу). Клиент-серверную базу надёжнее всего архивировать средствами СУБД: BACKUP DATABASE в MS SQL или pg_dump в PostgreSQL.

Какой способ выбрать, решает режим работы и размер базы. Для файловой базы на 2–5 ГБ хватит копирования файла по расписанию. Для серверной базы на десятки гигабайт нужен бэкап СУБД: он не останавливает работу пользователей и даёт точку восстановления на любой момент. Выгрузку .dt держат как дополнительный формат — её можно развернуть на любой платформе и в любом режиме.

Три способа архивации базы 1С: сравнение

СпособДля какой базыНужно ли выгонять пользователейПлюсыМинусы
Копия каталога с 1Cv8.1CDФайловаяДаБыстро, восстановление — простое копирование назадКопия во время работы бывает повреждённой
Выгрузка .dtФайловая и сервернаяЖелательноПереносима между режимами и СУБДДолго на больших базах, нет точки во времени
Бэкап СУБД (.bak, дамп)Клиент-сервернаяНетРаботает «на ходу», журналы транзакций, сжатиеНужен доступ к серверу СУБД и навык администратора
Встроенное резервное копирование конфигурацииФайловая (в типовых на БСП)Да, программа завершает сеансы самаНастраивается из интерфейса бухгалтеромТолько Windows-клиент и файловый режим
Какая у вас база?

Архивация файловой базы 1С: копия каталога и выгрузка .dt

Файловая база — это каталог, в котором лежит главный файл 1Cv8.1CD. Путь к каталогу виден в окне запуска 1С: выделите базу в списке, внизу окна отобразится строка вида File="D:\Bases\Buh".

Копирование каталога базы

  1. Попросите всех пользователей выйти из программы. Проверить, что никого не осталось, можно в Администрирование → Обслуживание → Активные пользователи в БП 3.0 и ЗУП 3.1.
  2. Убедитесь, что в списке активных пользователей остались только вы, и закройте свой сеанс тоже.
  3. Скопируйте каталог целиком в архивную папку или упакуйте его в архив.

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

Файл 1Cv8.1CD хорошо сжимается: архив ZIP или 7z обычно в 3–5 раз меньше исходника. Для базы на 4 ГБ это разница между 4 ГБ и примерно 1 ГБ на каждый день хранения.

Выгрузка в .dt через Конфигуратор

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

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

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

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

В настройках выбирают:

  • 🕒 режим — по расписанию, при завершении работы программы или только вручную;
  • 📁 каталог для архивов — лучше на другом диске или сетевой папке;
  • 🗂 сколько копий хранить — по количеству или по сроку давности;
  • 🔑 учётную запись администратора базы — от её имени мастер завершит сеансы.

При запуске копирования мастер завершает работу всех пользователей. Несохранённые документы у них пропадут. Ставьте расписание на время, когда в базе никого нет.

Резервное копирование клиент-серверной базы 1С на SQL

В клиент-серверном режиме данные хранит СУБД, а не 1С. Копировать каталоги сервера 1С бессмысленно: в них только служебные файлы кластера. Архив делается средствами СУБД, причём пользователи могут продолжать работу.

MS SQL Server

Ручной полный бэкап — в SQL Server Management Studio: правой кнопкой по базе → Задачи → Создать резервную копию (в английской версии Tasks → Back Up). То же самое командой:

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

Параметр CHECKSUM заставляет сервер проверять страницы при чтении, COMPRESSION уменьшает файл в несколько раз. Сжатие бэкапа поддерживают редакции Standard и выше; в Express его нет.

Дальше всё определяет модель восстановления базы:

  • 🟢 Simple — восстановиться можно только на момент полного или разностного бэкапа. Журнал не растёт, обслуживать проще.
  • 🔵 Full — можно вернуться на любую минуту между бэкапами, но журнал нужно регулярно архивировать. Без бэкапов журнала файл .ldf растёт, пока не займёт весь диск.

Бэкап журнала при модели Full:

BACKUP LOG [buh]
TO DISK = N'E:\Backup\buh_log_1300.trn'
WITH COMPRESSION, CHECKSUM;

PostgreSQL

Для 1С используют сборку PostgreSQL с патчами для 1С, но утилиты резервного копирования стандартные. Дамп в сжатом формате custom:

pg_dump -U postgres -h localhost -F c -f "E:\Backup\buh.dump" buh

Восстановление — в заранее созданную пустую базу:

pg_restore -U postgres -h localhost -d buh_test "E:\Backup\buh.dump"

Дамп даёт одну точку на момент запуска. Если нужна возможность отката на произвольное время, настраивают непрерывное архивирование WAL и базовые копии через pg_basebackup. Это уже работа администратора сервера.

После восстановления серверной базы из бэкапа её нужно зарегистрировать в кластере 1С (или убедиться, что она уже зарегистрирована) и указать в параметрах ту же СУБД и имя базы.

Как автоматизировать архивацию 1С по расписанию

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

Файловая база: скрипт и Планировщик заданий Windows

Пример bat-файла, который выгружает базу в .dt с датой в имени. Путь к 1cv8.exe и номер версии замените на свои:

@echo off
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER ^
  /F"D:\Bases\Buh" /N"Администратор" /P"пароль" ^
  /DumpIB"E:\Backup\Buh_%D%.dt" ^
  /Out"E:\Backup\Buh_%D%.log" /DisableStartupDialogs

Ключи DESIGNER, /F, /N, /P, /DumpIB, /Out и /DisableStartupDialogs — стандартные параметры командной строки платформы. Для серверной базы вместо /F укажите /S"srv1c\buh". Разбор даты %date:~6,4% рассчитан на формат ДД.ММ.ГГГГ — проверьте командой echo %date%, какой формат на вашем компьютере.

Скрипт ставят в Планировщик заданий Windows:

  1. Откройте taskschd.msc → Создать задачу.
  2. На вкладке «Общие» выберите пользователя и отметьте «Выполнять для всех пользователей».
  3. На вкладке «Триггеры» задайте ежедневный запуск, например в 02:00.
  4. На вкладке «Действия» укажите путь к bat-файлу.

Пароль администратора в bat-файле лежит открытым текстом. Создайте для архивации отдельного пользователя 1С с правами только на администрирование и закройте папку со скриптом от остальных.

Если во время запуска в базе остались пользователи, выгрузка может завершиться ошибкой. Проверьте журнал из /Out: если такое случается регулярно, добавьте перед выгрузкой блокировку сеансов или настройте завершение работы по расписанию.

Серверная база: планы обслуживания и cron

В MS SQL используют планы обслуживания (Управление → Планы обслуживания в SSMS) или задания SQL Server Agent. Типовой набор:

  • 🌙 полный бэкап — раз в сутки ночью;
  • ☀️ разностный — раз в 4–6 часов днём;
  • ⏱ журнал — каждые 15–60 минут при модели Full;
  • 🧹 очистка старых файлов — в том же плане, задачей очистки.

В Express-редакции агента нет: запускайте sqlcmd со скриптом из Планировщика Windows. Для PostgreSQL на Linux задание ставят в cron, на Windows — снова в Планировщик.

Хранение архивов 1С и ротация копий

Бэкап на том же диске, что и база, защищает только от ошибки пользователя. От поломки диска, шифровальщика и кражи сервера он не спасёт.

Рабочее правило — 3-2-1: три копии данных, на двух разных носителях, одна из них — вне офиса. Для небольшой фирмы это выглядит так: рабочая база на сервере, архивы на втором диске или NAS, плюс копия в облаке или на внешнем диске, который увозят домой.

Пример схемы ротации для базы, где каждый день проводят документы:

Тип копииКак частоСколько хранить
ЕжедневнаяКаждую ночь14 дней
ЕженедельнаяВоскресенье8 недель
Ежемесячная1-е число12 месяцев
ГодоваяПосле закрытия годаНе удалять

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

Удаление старых ежедневных копий в Windows одной командой — файлы .dt старше 14 дней:

forfiles /p "E:\Backup" /m *.dt /d -14 /c "cmd /c del @path"

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

Проверка резервной копии 1С тестовым восстановлением

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

Что проверять регулярно

  • 📏 Размер файла. Резкое уменьшение по сравнению со вчерашним архивом — повод разобраться.
  • 📝 Журнал выгрузки из параметра /Out или история плана обслуживания SQL: нет ли ошибок.
  • 🧪 Восстановление раз в месяц в отдельную тестовую базу.

Тестовое восстановление

  1. Создайте в списке баз новую пустую базу, например Buh_test.
  2. Загрузите в неё .dt через Администрирование → Загрузить информационную базу или восстановите .bak под другим именем базы в SQL.
  3. Запустите базу в режиме «1С:Предприятие», откройте последние документы, сформируйте оборотно-сальдовую ведомость за текущий месяц.
  4. Сверьте итоги с рабочей базой на дату создания архива.
Тестовое восстановление прошло успешно, если
Выполнено: 0 / 5

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

Проверка целостности самих баз

Для файловой базы есть утилита chdbfl.exe в каталоге bin платформы. Она проверяет физическую целостность 1Cv8.1CD и может исправить найденные ошибки. Запускать её можно только на базе, с которой никто не работает, и лучше на копии.

Логическую целостность проверяет Администрирование → Тестирование и исправление в Конфигураторе. Для этой процедуры нужен монопольный доступ к базе.

В MS SQL физическую проверку делает команда:

DBCC CHECKDB ([buh]) WITH NO_INFOMSGS;

Её ставят в план обслуживания раз в неделю. Проверить сам файл бэкапа, не восстанавливая его, можно командой RESTORE VERIFYONLY FROM DISK = N'E:\Backup\buh_full.bak' WITH CHECKSUM; — но это проверка читаемости, а не замена тестовому восстановлению.

Сторонние программы и облако для архивации 1С

Скрипт и Планировщик закрывают задачу полностью, но не всем удобно их сопровождать. Тогда берут готовые инструменты.

  • 🧰 Программы-архиваторы для 1С (например, Effector Saver) — умеют выгонять пользователей, делать .dt или копию файла, сжимать, отправлять на FTP и в облако, слать письмо о результате.
  • 💾 Универсальные программы резервного копирования (Cobian Backup, Veeam Agent и аналоги) — копируют каталоги и целые диски. Для файловой базы ставьте их на время, когда базу никто не держит.
  • ☁️ Облачные хранилища — Яндекс Диск, Облако Mail.ru, S3-совместимые хранилища. Загружать архивы удобно утилитой rclone из того же bat-файла после выгрузки.
  • 🏢 Сервис «1С:Облачный архив» — платный фирменный сервис для автоматической отправки копий файловых баз в облако.

Перед отправкой в облако упаковывайте архив с паролем (7z, AES-256). В базе — персональные данные сотрудников и контрагентов, их утечка из облака — ответственность организации.

Если база в облаке у провайдера (1С:Фреш, аренда сервера), резервные копии обычно делает провайдер. Уточните, как часто и сколько дней хранятся копии, и периодически скачивайте свою выгрузку .dt — на случай, если сменится провайдер или закроется договор.

Частые вопросы об архивации 1С

Можно ли восстановить из .dt базу в другой режим — например, с файловой на SQL?
Да. Выгрузка .dt не привязана к режиму работы и СУБД: создайте серверную базу и загрузите в неё файл через Конфигуратор. Так обычно и переводят базу с файлового варианта на клиент-серверный.
Подойдёт ли копия .dt, если версия платформы на новом компьютере другая?
Да, если номер версии платформы на новом компьютере не ниже той, на которой сделали выгрузку. В более старую платформу загрузка может не пройти.
Сохраняется ли в архиве список пользователей и их пароли?
Да. Выгрузка .dt и бэкап СУБД содержат пользователей базы, права и настройки. После восстановления входят под теми же логинами.
Почему .dt весит намного меньше файла 1Cv8.1CD?
В .dt данные сжаты и нет служебного «пустого» места, которое накапливается в файле базы. Разница в 5–10 раз — обычное дело и не говорит о потере данных.
Сколько места нужно под архивы?
Ориентир: размер сжатого архива × число хранимых копий плюс запас 30%. Для базы с архивом 1 ГБ и схемой 14 + 8 + 12 копий нужно около 45 ГБ.