Администрирование · 9 мин
Как в 1С выполнить резервное копирование при завершении работы
Как настроить автоматическое резервное копирование базы 1С при завершении работы: встроенные средства, пакетный режим, скрипты и проверка результата.
Резервное копирование при завершении работы — один из самых надёжных способов не потерять данные 1С: копия создаётся тогда, когда все пользователи уже вышли из базы и ничто не мешает корректной выгрузке. В зависимости от режима работы базы (файловый или клиент-серверный) и версии платформы задача решается разными способами: встроенной настройкой резервного копирования, пакетным запуском конфигуратора, внешними скриптами или регламентными заданиями.
Важно понимать ключевое ограничение: сама платформа 1С не имеет штатной кнопки «сделать копию при выходе». Поэтому механизм строится вокруг события завершения работы — либо средствами операционной системы (планировщик задач, скрипт выхода), либо настройкой, которая предлагает пользователю создать копию при закрытии программы. Ниже разобраны рабочие варианты для обоих режимов, их ограничения и способы проверить, что копия действительно создаётся.
Какие способы резервного копирования при выходе существуют
Выбор метода зависит от архитектуры базы. Файловая база (каталог с файлом 1Cv8.1CD) допускает прямое копирование и встроенную настройку резервного копирования. Клиент-серверная база (MS SQL, PostgreSQL и др.) требует выгрузки через конфигуратор в файл .dt либо штатных средств СУБД — простое копирование файлов базы данных не даёт гарантии целостности.
Второй критерий — кто инициирует копирование. Встроенный механизм 1С предлагает пользователю создать копию при завершении работы, но решение остаётся за человеком. Автоматические сценарии (планировщик Windows, скрипты) выполняются без участия пользователя, что надёжнее, но требует первоначальной настройки прав и путей.
Сравнение вариантов
Подходит для файловых баз, настраивается за минуты, но зависит от действий пользователя при выходе.
Универсален для файловых и серверных баз, полностью автоматический, требует написания команды или bat-файла.
Оптимально для больших серверных баз; быстрее и надёжнее, но требует навыков администрирования SQL.
Настройка встроенного резервного копирования в файловой базе
В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) есть готовый механизм резервного копирования. Откройте раздел «Администрирование» и найдите пункт «Резервное копирование и восстановление». В настройках укажите каталог для хранения копий — желательно на другом физическом диске или сетевом ресурсе, чтобы выход из строя основного диска не уничтожил и копии.
В параметрах расписания выберите вариант создания копии «при завершении работы». После этого при закрытии программы пользователю будет предложено выполнить резервное копирование. Имейте в виду: это предложение, а не принудительное действие — пользователь может отказаться. Если база большая, копирование займёт заметное время, и сотрудники нередко нажимают «Отмена», поэтому для критичных данных лучше комбинировать этот способ с автоматическим.
- 1Откройте «Администрирование → Резервное копирование и восстановление».
- 2Укажите каталог хранения копий на отдельном диске или сетевой папке.
- 3В настройке расписания выберите вариант «при завершении работы».
- 4Сохраните настройки и перезапустите программу.
- 5Закройте 1С и убедитесь, что появилось предложение создать копию, а после согласия — файл появился в указанном каталоге.
Копирование через пакетный режим конфигуратора
Универсальный способ — выгрузка базы в файл .dt командой конфигуратора в пакетном режиме. Команда запускает 1cv8.exe (или 1cv8c.exe) с параметром DUMPIB и указанием пути к файлу выгрузки. Такой подход работает и для файловых, и для серверных баз и не требует действий от пользователя.
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N"Администратор" /P"пароль" /DumpIB"E:\Backup\trade_%date%.dt" /DisableStartupDialogsЧтобы привязать выполнение к завершению работы, есть два практических варианта. Первый — обернуть запуск 1С в bat-файл: сначала запускается программа, а после её закрытия тот же скрипт выполняет выгрузку. Пользователь работает как обычно, а копия создаётся автоматически сразу после выхода. Второй — настроить задание планировщика Windows на ежедневное копирование в вечернее время, когда сеансы завершены.
Обратите внимание на параметр /DisableStartupDialogs — он подавляет стартовые окна, которые могут блокировать пакетное выполнение. Для серверной базы вместо /F используйте /S с указанием сервера и имени базы, например /S"server\base".
Особенности для клиент-серверных баз
Выгрузка в .dt через конфигуратор для серверных баз имеет ограничения: при больших объёмах процесс длительный и создаёт нагрузку на СУБД. Кроме того, восстановление из .dt — не самая быстрая операция. Для баз от десятков гигабайт рациональнее использовать штатные средства СУБД: задания обслуживания в MS SQL Server (Maintenance Plan с Full Backup) или pg_dump для PostgreSQL, запускаемые по расписанию после окончания рабочего дня.
Независимо от метода перед копированием желательно завершить активные сеансы. В пакетных сценариях для файловых баз это критично: если база открыта, выгрузка может завершиться ошибкой или файл окажется неконсистентным. Для серверных баз средства СУБД делают согласованные снимки, но логика «копия после завершения работы» сама по себе снижает риск захвата незавершённых транзакций.
Как проверить, что копия создаётся и пригодна
Наличие файла в каталоге копий — необходимое, но недостаточное условие. Проверяйте три признака: файл появился с актуальной датой, его размер сопоставим с размером базы (резкое уменьшение — тревожный знак), а журнал пакетного запуска не содержит ошибок. Для пакетного режима добавьте в команду параметр /Out с указанием файла журнала — туда записывается результат выполнения.
Периодически выполняйте контрольное восстановление: загрузите копию .dt в пустую тестовую базу через конфигуратор (параметр RestoreIB или интерактивно «Загрузить информационную базу») и откройте её. Только успешное открытие восстановленной копии подтверждает, что резервное копирование реально работает. Проверку достаточно делать раз в месяц и после любых изменений в сценарии копирования.
Как проверить результат
Файл с сегодняшней датой, размер близок к размеру базы
Файл отсутствует, нулевой или аномально малого размера
Нет сообщений об ошибках, выгрузка завершена
Ошибки доступа, блокировки базы, прерывание выгрузки
Копия загружается в тестовую базу и открывается
Ошибка загрузки или программа не открывает базу
Типичные ошибки и ограничения
Самая частая ошибка — хранение копий на том же диске, что и база. При отказе диска теряется и база, и резерв. Вторая типичная проблема — отсутствие ротации: копии копятся, диск переполняется, и в какой-то момент копирование начинает завершаться ошибкой нехватки места. Настройте удаление архивов старше заданного срока (в пакетном сценарии — отдельной командой очистки каталога).
Третья группа ошибок связана с правами: скрипт, запущенный от имени пользователя без доступа к сетевой папке, молча не создаёт копию. Всегда тестируйте команду вручную от той учётной записи, под которой она будет выполняться автоматически. И наконец, не полагайтесь на единственный метод: комбинация «копия при завершении + еженедельная копия в другое хранилище» заметно повышает шансы на восстановление.
Частые вопросы
Можно ли сделать копирование при выходе полностью принудительным, без согласия пользователя?
Штатная настройка БСП только предлагает создать копию, и пользователь может отказаться. Для принудительного сценария используйте запуск 1С через bat-файл: после закрытия программы скрипт автоматически выполняет выгрузку /DumpIB без каких-либо диалогов.
Чем отличается выгрузка в .dt от копирования файла 1Cv8.1CD?
Файл .dt — это логическая выгрузка через конфигуратор, пригодная для переноса между платформами и СУБД. Копирование 1Cv8.1CD — физическая копия файловой базы, быстрее, но требует, чтобы база была закрыта, и не подходит для серверных баз.
Сколько копий стоит хранить?
Распространённая практика — ежедневные копии за последнюю неделю и несколько недельных или месячных архивов. Точный срок определяется объёмом данных и требованиями к глубине восстановления; главное — настроить автоматическое удаление устаревших файлов, чтобы не переполнить диск.
Почему пакетная выгрузка завершается ошибкой «база заблокирована»?
Чаще всего в базе остались активные сеансы или установлена блокировка соединений. Убедитесь, что все пользователи вышли, проверьте отсутствие зависших процессов 1cv8 в диспетчере задач и снимите блокировку регламентных заданий, если она устанавливалась вручную.
Нужно ли резервное копирование, если база в облаке или на сервере с RAID?
Да. RAID защищает только от отказа диска, но не от ошибочного удаления данных, повреждения базы программным сбоем или вируса-шифровальщика. Облачные сервисы также не всегда включают резервное копирование по умолчанию — уточняйте условия у провайдера и держите собственные копии.
Что важно запомнить
Для файловых баз включите встроенное копирование при завершении работы в разделе «Администрирование», для автоматики и серверных баз — пакетную выгрузку /DumpIB через скрипт. Храните копии на отдельном носителе, настройте ротацию и регулярно проверяйте восстановление в тестовую базу.