Копия базы 1С, которая действительно спасёт: способы, расписание, хранение и восстановление

· 9 мин

Содержание

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

Кнопка «Записать» в документе и выход из программы сохраняют данные в саму базу, но не защищают её. Сгорел диск, шифровальщик, неудачное обновление, случайная групповая обработка — и без архивации базы 1С восстановить учёт будет не из чего. Способ копирования выбирают по режиму работы базы: файловый или клиент-серверный.

Почему записи документов в 1С недостаточно

1С пишет данные в одно хранилище: файл 1Cv8.1CD или базу на сервере СУБД. Если оно повреждено, страдает всё сразу — справочники, документы, настройки пользователей.

Что реально приводит к потере данных:

  • 💥 отказ диска или SSD, на котором лежит база;
  • 🦠 вирус-шифровальщик: он шифрует и базу, и копии в соседней папке;
  • 🔄 обновление конфигурации , после которого база не открывается или «поехали» данные;
  • 🧹 групповое перепроведение, свёртка базы или обработка, запущенная не на той базе;
  • ⚡ отключение питания во время записи — особенно для файловой базы;
  • 👤 сотрудник удалил помеченные объекты, а среди них оказались нужные.

Журнал регистрации покажет, кто и что изменил, но откатить изменения он не умеет. Вернуть базу в состояние «до» может только копия.

Бухгалтерские документы организация обязана хранить не меньше пяти лет (ст. 29 закона № 402-ФЗ). Для тех, кто ведёт учёт только в электронном виде, база 1С и есть этот архив.

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

Способ зависит от того, как работает база: в файловом режиме или на сервере 1С с MS SQL или PostgreSQL.

СпособДля какой базыПлюсыМинусы
Выгрузка .dt через Конфигураторлюбойодин файл, переносится между режимами и СУБДдля больших баз долго выгружать и загружать
Копия файла 1Cv8.1CDфайловойбыстро, простотолько когда в базе никто не работает
Встроенное резервное копирование в программефайловойнастраивается мышкой, без скриптовзависит от запуска 1С на этом компьютере
Бэкап средствами СУБДсервернойбыстро, можно делать в рабочее время, есть разностные копиивосстанавливается только в ту же СУБД
Снимок виртуальной машинылюбойвся система целикомбез остановки базы снимок может оказаться несогласованным

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

Как сделать резервную копию 1С вручную

Выгрузка в файл .dt

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

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

Копирование файловой базы

  1. Узнайте путь к базе: в окне запуска выделите её — путь виден внизу окна.
  2. Убедитесь, что в базе никого нет, включая фоновые сеансы на других компьютерах.
  3. Скопируйте файл 1Cv8.1CD в архивную папку, лучше в архив с датой в имени.

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

Если в программе включено хранение присоединённых файлов в томах на диске, этих файлов нет ни в 1Cv8.1CD, ни в .dt. Папку с томами нужно копировать отдельно. Проверить настройку можно в Администрирование → Общие настройки, в блоке про присоединённые файлы.

Бэкап серверной базы

Для MS SQL Server — полный бэкап с контролем целостности:

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

Для PostgreSQL — дамп в собственном сжатом формате:

pg_dump -U postgres -Fc -f /backup/buh.backup buh

СУБД делает согласованную копию без отключения пользователей, поэтому такой бэкап можно запускать и днём.

Автоматическое резервное копирование базы 1С

Ручная копия делается, пока о ней помнят. Через месяц о ней забывают. Поэтому архивацию базы 1С стоит поставить на расписание.

Встроенная настройка в программе

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

Ограничение: копия делается силами клиента 1С на конкретном компьютере. Если этот компьютер выключен, копирования не будет. Для серверных баз этот механизм не предназначен — там работают средства СУБД.

Скрипт выгрузки .dt по расписанию

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

@echo off
set V8="C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe"
set IB=D:\Bases\Buh
set OUT=E:\Backup1C
set LOG=E:\Backup1C\log.txt

for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HH-mm"') do set D=%%i

%V8% DESIGNER /F "%IB%" /N "Backup" /P "пароль" /DisableStartupMessages /DumpIB "%OUT%\buh_%D%.dt" /Out "%LOG%" -NoTruncate

forfiles /p "%OUT%" /m *.dt /d -14 /c "cmd /c del @path"

Что здесь важно:

  • 📁 номер версии в пути к 1cv8.exe замените на свой — посмотрите папку C:\Program Files\1cv8;
  • 🔑 для выгрузки нужен пользователь с административными правами; заведите отдельного, не используйте учётку главбуха;
  • 🗑️ последняя строка удаляет .dt старше 14 дней — это простая ротация;
  • 🖧 для серверной базы вместо /F "%IB%" пишется /S "сервер\имя_базы".

Запуск по расписанию через планировщик Windows:

schtasks /create /tn "1C_backup" /tr "D:\Scripts\backup1c.bat" /sc daily /st 23:00 /ru SYSTEM

Пароль в bat-файле лежит открытым текстом. Ограничьте доступ к папке со скриптом правами NTFS, а пользователю для выгрузки не давайте ничего лишнего.

Если ночью кто-то забыл закрыть 1С, выгрузка может не пройти. Проверяйте лог: файл log.txt с ошибкой — сигнал, что копии за эту ночь нет.

Расписание для серверной базы

Для MS SQL создайте план обслуживания или задание SQL Server Agent: полный бэкап раз в сутки, разностный — каждые несколько часов. При модели восстановления Full добавьте бэкап журнала транзакций, иначе журнал будет расти без ограничений.

Для PostgreSQL на Linux дамп ставят в cron:

0 2 * * * pg_dump -U postgres -Fc -f /backup/buh_$(date +\%F).backup buh && find /backup -name "buh_*.backup" -mtime +14 -delete

Где хранить архивы базы 1С и сколько копий держать

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

Рабочее правило «3-2-1»:

  • 3️⃣ три экземпляра данных: рабочая база и две копии;
  • 2️⃣ два разных носителя: например, второй диск сервера и сетевое хранилище;
  • 1️⃣ одна копия вне офиса: облачный диск или носитель, который физически увозят.

Схема ротации для небольшой фирмы:

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

Годовую копию сделайте после реформации баланса и сдачи годовой отчётности. Это ваш «слепок» года на случай проверки.

🔒 Безопасность архивов:

  • шифруйте копии, которые уходят за пределы офиса, — например, архивом 7z с паролем и шифрованием имён файлов;
  • папка с бэкапами не должна быть открыта на запись всем пользователям сети: шифровальщик пройдёт по ней так же, как по базе;
  • храните пароль от архивов не только в голове одного администратора.

Облачное резервное копирование 1С

Есть два разных сценария, и их часто путают.

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

База у вас, а копии в облаке. Скрипт выгружает .dt или бэкап СУБД, а затем копирует его на облачный диск или в объектное хранилище S3. Для синхронизации подойдут клиент облачного диска или утилита rclone.

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

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

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

Из файла .dt

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

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

Из копии 1Cv8.1CD

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

Из бэкапа СУБД

  1. Восстановите бэкап в новую базу на сервере СУБД: RESTORE DATABASE в MS SQL или pg_restore в PostgreSQL.
  2. В консоли администрирования серверов 1С создайте новую информационную базу и укажите в её параметрах эту базу СУБД.
  3. Проверьте вход и данные.
createdb -U postgres buh_test
pg_restore -U postgres -d buh_test /backup/buh.backup

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

Пробное восстановление по графику

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

Проверка восстановленной копии
Выполнено: 0 / 5

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

  • ❌ Копии на том же диске. Диск умер — умерли и база, и копии.
  • ❌ Никто не смотрит лог. Скрипт полгода падает с ошибкой, а все уверены, что бэкап есть.
  • ❌ Только одна копия, которая перезаписывается. Если база была испорчена вчера, сегодняшняя ночная копия уже содержит порчу.
  • ❌ Забыли про тома с файлами. Сканы договоров и счетов хранились на диске отдельно, в .dt их нет.
  • ❌ Только .dt для базы на сотни гигабайт. Выгрузка и загрузка займут часы; для таких баз основным должен быть бэкап СУБД.
  • ❌ Копия перед обновлением не сделана. Обновление конфигурации без свежего .dt — самый частый повод для экстренного восстановления.
  • ❌ Не сохранены внешние обработки и расширения, если они хранятся файлами вне базы. Держите их в отдельной папке с копией.

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

Можно ли сделать резервную копию 1С, не выгоняя пользователей?
Для серверной базы — да, бэкап средствами MS SQL или PostgreSQL делается без отключения людей. Для файловой базы копию лучше делать, когда в ней никто не работает.
Чем выгрузка .dt отличается от сохранения конфигурации в файл .cf?
Файл .cf содержит только конфигурацию, без данных. Для резервной копии учёта нужен именно .dt.
Сколько места нужно под архивы?
Ориентировочно: файл .dt в несколько раз меньше 1Cv8.1CD, а после сжатия архиватором — ещё меньше. Посчитайте размер одной копии и умножьте на число хранимых по схеме ротации, плюс запас 30–50%.
Как часто делать копию базы 1С?
Минимум раз в сутки, если в базе работают каждый день. Перед обновлением, закрытием месяца и групповыми обработками — дополнительно, вручную.
Можно ли загрузить .dt в базу на другой версии платформы?
Загружайте в платформу с номером версии не ниже той, на которой делали выгрузку. В более старую платформу загрузка может не пройти.

Источники

  • Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учёте», ст. 29