Резервное копирование информационных баз 1С 8.1, 8.2
База данных - Архивирование (backup)
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Недавно столкнулся с необходимостью создания резервных копий баз (файловый вариант, архивы в виде dt-файла) и, конечно, сразу захотелось автоматизировать сей процесс, и так, чтобы было как можно проще, но работало. Было найдено достаточно большое количество решений. Наиболее простым показалось использование bat-файла: одна строчка и всё работает, НО при условии, что в базе никого нет. Наложение данного условия значительно усложнило задачу (можно, конечно, было перезапускать кластер, добавив ragent.exe -stop, ragent.exe -start в bat-файл, но это грубый способ, а хотелось корректного отключения пользователей). Задача архивирования с отключением пользователей решалась использованием vbs-файла, но при этом соответствующий скриптовый код уже не отличался простотой понимания и объемом содержания, что вызывало определенные трудности.
В общем, я пришел к следующему (по-моему простому) способу автоматического бэкапа:
1. Создание "выгонялки" средствами 1С.
2. Создание bat-файла, с параметрами запуска "выгонялки", а затем архивирования базы.
3. Добавление bat-файла в планировщик событий Windows.
Итак:
1. В типовых конфигурациях в общем модуле ГлобальныйМодуль есть процедура отключения пользователей ЗавершитьРаботуПользователей() (в УТ, БП, ЗУП, УПП есть точно). Вот её нам и необходимо запустить перед архивацией.
Для этого в конфигураторе создаем обработку, для обработки создаем форму и в модуль формы вставляем следующий текст:
Процедура ПриОткрытии()
ТекущийРежим = ПолучитьБлокировкуУстановкиСоединений();
ТекущийРежим.КодРазрешения = "КодРазрешения";
ТекущийРежим.Начало = ТекущаяДата();
ТекущийРежим.Конец = ТекущаяДата() + 300;
ТекущийРежим.Установлена = Истина;
УстановитьБлокировкуУстановкиСоединений(ТекущийРежим);
ЗавершитьРаботуПользователей();
КонецПроцедуры
Здесь перед вызовом процедуры ЗавершитьРаботуПользователей() необходимо установить блокировку соединений с базой, иначе она просто не сработает. Число 300 в ТекущийРежим.Конец означает 300 секунд, получается блокировка базы будет установлена на 5 мин с момента запуска обработки - вполне достаточно, чтобы отключить всех пользователей от базы. Сохраним обработку (у меня Epf81.epf). Для 8.1 и 8.2 код идентичен, достаточно переконвертировать обработку для 8.1.
2. Запустим блокнот и вставим следующий текст:
chcp 1251
@echo off
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\Base" /NПользователь /PПароль /DisableStartupMessages /Execute Epf81.epf
"C:\Program Files\1cv81\bin\1cv8.exe" CONFIG /F"D:\Base" /NПользователь /PПароль /UCКодРазрешения /DisableStartupMessages /DumpIB"D:\Backup\backup_%date%.dt"
Сохраним как backup81.dat
Первой строчкой мы запускаем обработку Epf81.epf от имени Пользователь (подставляете своего с администраторскими правами) с соответствующим паролем. Затем после того, как все пользователи будут отключены (отключаются и те, у которых стоит запрос на выход из программы, только чуть дольше) отработает вторая строчка, которая запускает систему 1С в режиме конфигуратора под тем же пользователем и создает dt-шник в папке D:\Backup, в имя файла будет подставлена текущая дата.
Путь к исполняемому фалу "C:\Program Files\1cv81\bin\1cv8.exe" заменяете, если у вас другой. Соответственно меняете путь к базе "D:\Base". Во второй строчке, для того, чтобы база нас пустила, в параметре /UC указывается код блокировки ТекущийРежим.КодРазрешения = "КодРазрешения", заданный в обработке Epf81.epf.
3. Добавляем в планировщик Windows или любой другой. (Можно посмотреть здесь http://www.ithowto.ru/376-kak-sozdat-naznachennoe-zadanie-pri-pomoshhi-planirovshhika-zadanij-windows.html)
P.S. В описании, с целью простоты понимания, текст bat-файла урезан. В том, который во вложении, добавлено создание лога процесса архивирования, дата создания dt-шника указывается с точностью до секунды и пути к исполняемому файлу, базе и архиву вынесены в переменные. Лог создается в той же дирректории, где находится сам bat-файл.
Данный способ тестировался только на файловых базах типовых УТ, ЗУП, БП 8.1 и 8.2, как работает на клиент-серверных не знаю.
Вступайте в нашу телеграмм-группу Инфостарт
См. также
Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS! Версия 1.4 от 28.05.2026
7320 руб.
06.11.2012 80383 635 45
Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)
Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.
03.11.2026 465 nedomolkov.ivan 11
Архивирование (backup) Инструменты администратора БД Системный администратор Разработчик 1С 8.3 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Абонемент ($m)
Полностью автоматизированная внешняя обработка для администрирования 1С: блокировка/разблокировка ИБ, массовое завершение сеансов, резервное копирование и восстановление из .dt, выгрузка/загрузка конфигурации (.cf), пакетная работа с расширениями (.cfe) и дополнительными обработками – всё через удобную форму без ручных запусков конфигуратора и консоли кластера
1 стартмани
21.01.2026 6500 66 war41k 0
Архивирование (backup) Групповая разработка (Git, хранилище) Системный администратор Разработчик Бесплатно (free)
Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).
15.12.2025 14186 nasonkin 19
Архивирование (backup) Учет документов Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)
В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.
12200 руб.
19.02.2025 2939 3 0
Архивирование (backup) Системный администратор 1С 8.3 Бесплатно (free)
Предлагаю Вашему вниманию 3 скрипта на bash (sh) для архивирования (backup) типовых конфигураций на Linux средствами 1С и Postgres. Перед запуском корректно заполните раздел "Параметры" в соответствии с Вашими настройками.
20.01.2025 5974 Prelude 5
Архивирование (backup) 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)
Резервные копии базы 1С без завершения сеансов: .dt, файл базы, PostgreSQL, MS SQL, своя команда. Расписание, профили, ротация, ZIP, FTP, журнал и письмо об ошибке. Платформа 8.3+ (кроме 8.2), любая конфигурация с БСП. Подключение за 5 минут.
5000 руб.
27.08.2024 4135 1 6
HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Разработчик 1С:Предприятие 8 Бесплатно (free)
Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.
13.08.2024 10676 1CUnlimited 11
1. весит 7.7 Гб, а ES по расписанию (у меня ночью) залезает в SQL, делает тот же полный бэкап (поэтому с транзакциями порядок, если даже кто-то работает в 1С), бекап архивирует, добавляет туда md 23Мб,dds,dba. Архив получается 830 Мб.
2. Средствами SQL муторно создавать задачи бэкапирования, если хочется сохранить ежедневные архивы, а не затирать их. ES добавляет дату и время в название файла, поэтому нет проблем.
В обед и после рабочего дня дополнительно делаю дифференциальные бэкапы, уже средствами SQL
---- 8ку тоже с помощью ES архивирую, но там еще опыта нет, не могу ничего сказать.
---- У меня вопрос, давно уже беспокоит, может кто точно ответит. 7ка SQL версия. Как поведет себя 1С при восстановлении с архива, если md разные? Архивная md есть. Пробовал я из sql восстановить базу, прошло нормально. Затем из 1C пытался объединить конфигурации, не берет, ошибку выдает. Может просто скопировать md из архива, он же соответствует структуре баз? Что удивительно, запустил я 1С с не тем md-шником, запустился, и как будто не видит, что другой md, данные берет с баз, которые не соответствуют md. Пока тьфу-тьфу не было острой необходимости, а вдруг петух клюнет (((((
Автору +, для себя извлек много полезной информации
Можно поступить еще лучше -не выгонять всех из базы а просто запретить запись и проведение (обработчиками при записи) и спокойно копировать рабочую базу в папку для архивирования.
(17) anna62, идеи похожи, но всё же разные. WinRar - средство нестандартное, к тому же платное. Плюс в результате имеем архивы разных форматов и размеров.
Вообще способов архивирования достаточно много и выбор зависит от конкретной задачи. В моём случае имеются 3 небольших файловых базы, архив необходимо делать раз в неделю, сб-вск бухгалтерия не работает. Архивирование запускается в понедельник утром, поэтому даже если бухгалтер запустит что-то (а обычно об этом известно), то 2-х суток будет вполне достаточно, чтобы это что-то успело завершится. Формируется лог событий архивирования (если лень раз в неделю просматривать его самостоятельно, то можно аналогично добавить задачу на открытие в планировщик). Конечно, если условия изменятся, то я воспользуюсь более приемлемым вариантом, а пока, живя в пустыне, не вижу смысла страховаться от наводнения :).
главное в архивировании не создание архива, а уверенность, что у вас ЕСТЬ архивные копии
все мнения о том, что "достаточно использовать стандартные средства windows" или простенький bat-файл отпадают по одной причине - вы не знаете создался у вас архив или нет, а проверять даже раз в неделю быстро надоедает и что там с архивированием ни кто не в курсе (и не надо думать, что вы не такой :-) )
поэтому система архивирования должна сообщать ответственному о том что произошел сбой при архивации.
после такой постановки здачи думаем и выбираем (или создаем) нормальную систему архивирования
Удачи всем.
у вас бухгалтер приходит на работу раз в неделю в пятницу? или бухгалтер осознано вам дал понять что будет с удовольствием руками восстанавливать данные за неделю если база поломается?
Примите на себя обязанности ПРОФЕССИОНАЛА, а не простого исполнителя и сделайте СРАЗУ нормальную систему.
я так посмотрел архивы у вас создаются на том же жестком диске, что и сама база, думаю вы понимаете, что при поломке жесткого диска все ваши архивы будут УТРАЧЕНЫ!!!
З.Ы. всегда недолюбливал сисадминов, которых нужно убеждать делать ежедневные архивы. А уж когда приводят в качестве аргумента, что установлен RAID1 и в принципе ничего не может потеряться - сразу хочется предложить директору уволить такого сисадмина... "от греха подальше" :-)
В целом же с вами согласен и данный способ не претендует на функциональность и универсальность, а является лишь одним из вариантом решения частной, но весьма распространенной задачи и выложен с целью "посмотрите, может кому пригодиться". И как видно по некоторым отзывам не зря.
По поводу того как у меня: я приходящий одинэсник и реализация у каждого клиента своя, я только убеждаю сделать ежедневные архивы на другой жесткий диск, если компьютер один, то покупается usb-диск или флешка и архивы делаются на него. Если потеря данных критична, то делается несколько копий в день (и не важно, что база может быть сбойная, лучше иметь такую, чем никакой) если есть возможность то архивы делаются на другой компьютер, сетевой диск или на ftp server за пределами офиса.
про NASA разговор беспредметный, но думаю там тоже бакапирование происходит не реже раза в день на другой физический носитель.
Когда перешли на 8-ку просто не знал что делать (тем более база в файловом варианте, не SQL), рар жмёт плохо. Так что это вариант мне очень помог. Скажите есть смыс переходить с этого варианта на другое ПО (effector saver, CobianBackup) которое здесь обсуждается, и если да то на какое?
И потом прерывается на загрузке, пишет "Не все данные были загружены" и база не работает. Я думаю что проблема не в данном методе. Куда копать?
Всё же очень задумался над SQL версией базы.
Спасибо за совет.
У меня схема такая.
Запускается батник, пишет в лог что запустился
Тушит все имеющиеся процессы 1С.
Выгружает конфу полностью в папочку
7зипом архивирую файл выгрузки и лог файл, ставлю пароль
Переношу в отдельную папочку с бэкапами и даю имя по дате архива
Недостает в этой схеме только: нежной выгонялки пользователей, предварительного тестирования и исправление с реиндексацией перед выгрузкой.
60 гб архивов(по 250+- каждый), ни единого сбоя. Время начала и завершения со всеми промежутками в логфайле. Что еще нужно?
но есть период отпуска, болезни и прочее, и сисадмины уходят на другую работу, да мало ли что бывает...
+100. Очень часто необходимо кроме архивирования выполнять и сопутствующие действия: удалить старые архивы, послать сообщения, сделать еще одну копия на фтп и.т.д. Можно конечно и в батник все это прописать, но будет ли это проще?
Единственное замечание:
"Сохраним как backup81.dat" - надо не dat, а bat.
Работает на клиент-сервере УПП.
И вопрос возник - можно ли сделать так, чтоб завершённые сеансы заново не запускались?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 101417
Создание 12.12.11 11:01
Обновление 12.12.11 11:09
Просмотры 66119
Загрузки 370
Рейтинг
97
Комментарии 71
Код открыт Не указано
Рубрики Архивирование (backup)
Тип файла Архив с данными
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)