Резервная копия 1С без сюрпризов: файловые и SQL-базы, расписание, ротация и проверка восстановлением
Содержание
Архивировать базу 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".
Копирование каталога базы
- Попросите всех пользователей выйти из программы. Проверить, что никого не осталось, можно в
Администрирование → Обслуживание → Активные пользователив БП 3.0 и ЗУП 3.1. - Убедитесь, что в списке активных пользователей остались только вы, и закройте свой сеанс тоже.
- Скопируйте каталог целиком в архивную папку или упакуйте его в архив.
Не копируйте 1Cv8.1CD, пока с базой работают люди. Платформа пишет в файл постоянно, и копия может оказаться внутренне несогласованной. Обнаружится это в самый неудобный момент — при восстановлении.
Файл 1Cv8.1CD хорошо сжимается: архив ZIP или 7z обычно в 3–5 раз меньше исходника. Для базы на 4 ГБ это разница между 4 ГБ и примерно 1 ГБ на каждый день хранения.
Выгрузка в .dt через Конфигуратор
- Запустите базу в режиме
Конфигуратор. - Откройте меню
Администрирование → Выгрузить информационную базу. - Укажите папку и имя файла, например
Buh_2026-10-07.dt, нажмитеСохранить. - Дождитесь сообщения о завершении выгрузки.
Обратная операция — Администрирование → Загрузить информационную базу. Загрузка .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:
- Откройте
taskschd.msc→Создать задачу. - На вкладке «Общие» выберите пользователя и отметьте «Выполнять для всех пользователей».
- На вкладке «Триггеры» задайте ежедневный запуск, например в 02:00.
- На вкладке «Действия» укажите путь к 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: нет ли ошибок. - 🧪 Восстановление раз в месяц в отдельную тестовую базу.
Тестовое восстановление
- Создайте в списке баз новую пустую базу, например
Buh_test. - Загрузите в неё
.dtчерезАдминистрирование → Загрузить информационную базуили восстановите.bakпод другим именем базы в SQL. - Запустите базу в режиме «1С:Предприятие», откройте последние документы, сформируйте оборотно-сальдовую ведомость за текущий месяц.
- Сверьте итоги с рабочей базой на дату создания архива.
Восстановленная копия может начать отправлять отчёты, выполнять обмены и почтовые рассылки по расписанию. При запуске копии платформа обычно спрашивает, перемещена ли база, — ответьте, что это копия, и проверьте, что регламентные задания в ней выключены.
Проверка целостности самих баз
Для файловой базы есть утилита 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 — на случай, если сменится провайдер или закроется договор.