К вопросу об архивации баз 1С (и снова, и снова...)

08.01.10

База данных - Архивирование (backup)

Из своего опыта хочу напомнить о самом простом способе архивации баз типовыми средствами 1С и планировщика Windows.

 

Постоянно вижу обсуждения о способах архивации баз 1С. Люди и обработки какие-то придумывают, и исходный код изменяют. В свое время тоже был крайне озадачен этим вопросом. Решение лежало на поверхности. Не претендую на оригинальность, но хотелось бы напомнить о самом простом способе архивации баз средствами командной строки 1С и планировщика Windows. Данный метод успешно работает в нашей организации уже более года с 8-ю отдельными базами 1С на системе Windows Server 2003.

При всей кажущейся сложности настройка не занимает больше 10 минут.

Итак, настройка в три шага:

1. Создадим два исполняемых файла *.bat. Первый файл назовем, например, "finish1C.bat", второй "share1C.bat". Соответственно первый файл будет содержать команды для запрета доступа к базам на время архивации, а во втором файле будут команды на открытие доступа после выполнения архивации.

Текст первого файла: START /D"C:\Program Files\1cv81\bin\" 1cv8.exe ENTERPRISE /F"<X:\Trade>" /N"<ИМЯ_ПОЛЬЗОВАТЕЛЯ>" /P"<ПАРОЛЬ>" /CЗавершитьРаботуПользователей

где <X:\Trade> - полный путь к каталогу базы 1С (без кавычек <>)

<ИМЯ_ПОЛЬЗОВАТЕЛЯ> - имя пользователя с административными правами (без кавычек <>)

<ПАРОЛЬ> - пароль этого пользователя (без кавычек <>)

Если система у вас находится не на диске С, или оболочка 1С установлена не в папку по умолчанию, замените путь "C:\Program Files\1cv81\bin\" на соответствующий.

Текст второго файла: идентичен первому. Только вместо /CЗавершитьРаботуПользователей  нужно написать /UCПакетноеОбновлениеКонфигурацииИБ /CРазрешитьРаботуПользователей

Естественно, если у вас несколько рабочих баз 1С, то для каждой базы нужно прописать отдельную строку в первом и втором файлах. У меня в каждом файле по 8 строк.

2. Настраиваем WinRAR. Собственно сам процесс архивации. Я пользуюсь WinRAR (лицензия) поскольку ценю его за простоту, надежность и функциональность. Поэтому текст командного файла "arhiv1C.bat" содержит следующую строку:

rar a -sfx -agYY-MM-DD X:\Arhiv\Trade_ X:\Trade

думаю, разобраться с параметрами WinRAR не составит труда. Тут все дело, в результате, который вы хотите получить. В данном случае архивируется вся папка с базой и создается архив вида "Trade_10-01-05.exe", т.е самораспаковывающийся архив с указанием даты архива. Мне этого достаточно, вы можете настроить по своим потребностям, вплоть до задания пароля на архив.

3. Настраиваем планировщик Windows: создаем три задачи планировщика – первую на исполнение файла "finish1C.bat". Настроим ее на запуск в час ночи. Незакрытые сеансы 1С отключатся максимум через 5 минут. Поэтому вторую задачу на выполнение файла "arhiv1С.bat" ставим на время 1:10 (дадим 10 минут на всякий случай). Третью задачу на запуск файла "share1C.bat" ставим с отставанием по времени, достаточным для выполнения архивации. Я рассчитываю время запуска третей задачи раз в полгода по принципу <время на архивацию> * 2.

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

Один нюанс: для баз "1С:Управление торговлей" используются вышеописанные ключи в файле "share1C.bat". Для баз "1С:Бухгалтерия Предприятия" и "1С:Зарплата и Управление персоналом" вместо /UCПакетноеОбновлениеКонфигурацииИБ /CРазрешитьРаботуПользователей нужно использовать /CРазрешитьРаботуПользователей /UCКодРазрешения

Для баз, работающих круглосуточно, можно объединить состав файлов "arhiv.bat" и "share1C.bat". Например, ввести поочередно команды создания архива и открытия доступа к базе. Тогда и не нужно будет заморачиваться на на измерение времени архивации. Базы станут доступны сразу после создания архива.

 

Надеюсь данный материал поможет кому-то.

 

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42518    10    24    

38

BackUPv8 - система резервного копирования баз 1С

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    14730    13    6    

18

Резервное копирование журнала транзакций, наконец-то!

Архивирование (backup) Администрирование СУБД Россия Бесплатно (free)

Постараюсь объяснить, зачем нужно резервное копирование именно журнала транзакций, а не только базы данных, и почему я словно сбросил груз, настроив его - как, покажу, естественно. Кстати, будут скрипты T-SQL (с подробными комментариями) - отличный способ сделать администрирование базы более уютным.

04.12.2023    5866    n_mezentsev    15    

24

Резервное копирование и восстановление 1С баз на PostgreSQL в Windows с помощью pgAdmin, bat-файлов и планировщика

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной инструкции будет описано, как с помощью pgAdmin, bat-файлов и планировщика заданий Windows организовать резервное копирование, восстановление и хранение копий баз данных.

07.10.2022    19817    sapervodichka    36    

142

Архивирование базы в dt и дамп postgres

Архивирование (backup) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Захотелось клиентам выгрузку архива баз, и выгрузку в дт, готовые скрипты с сети не заработали. Может, кому-то поможет. Релиз 8.3.18.1741.

1 стартмани

25.08.2022    4716    2    Gnom-Gluck    6    

6

Утилита копирования баз данных 1С

Архивирование (backup) Платформа 1С v8.3 Абонемент ($m)

Небольшая утилита для копирования файловых баз данных 1С.

1 стартмани

02.06.2022    4236    3    Giblarium    12    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. alexk-is 6533 08.01.10 11:16 Сейчас в теме
Здесь есть список ссылок на публикации аналогичной направленности
http://infostart.ru/public/19363/
2. strange2007 144 13.01.10 15:33 Сейчас в теме
Всегда использую только CMD+архиватор
Народ изобретает супер-пупер-мупер обработки потому что не читали хелп от cmd
3. noknown 3 14.01.10 17:29 Сейчас в теме
У меня уже много лет работает связка CMD+rar для 7.7
Не вижу причин городить обработки и вообще усложнять.
4. grum01 115 14.01.10 18:19 Сейчас в теме
Так я по этому поводу и говорю. Простота - залог отсутствия головных болей и успешной работы.
5. Rabajaba 354 15.01.10 10:42 Сейчас в теме
2 файла излишне на мой взгляд. У меня в один ещё и с шифрованием работает.
Есть ключ /w для команды "Start" и есть "&" для одновременного запуска команд. Пример:
net stop "1C:Enterprise 8.1 Server Agent" & net start "1C:Enterprise 8.1 Server Agent" & "start /W путьОдноЭс CONFIG СтрокаПодключения /N юзверь /P пароль /DumpIB файлАрхива /Out файлЛога.
dred2001; +1 Ответить
6. roskmv 611 15.07.10 08:20 Сейчас в теме
По мне так лучше средствами самой 1С.
Вот здесь ссылка на скриптик применимо к 1С 7.7, 8.1 и 8.2
http://infostart.ru/public/72057/
Работает на ура + дополнительные функции !
7. grum01 115 15.07.10 08:38 Сейчас в теме
(6) Ну тут трудно сказать. Все зависит от предпочтений. Кроме того, большие базы быстрее обрабатываются архиватором, чем самой 1С (так, по крайней мере, у меня).
8. Anna_A 150 15.07.11 19:09 Сейчас в теме
Пользователей ночью, конечно, нет, а вот фоновых заданий все больше или они теперь работают дольше (нашим базам всего полтора года).
Вопрос первый: остановит ли команда ЗавершитьРаботуПользователей фоновые задания.
Вопрос второй: я уже воспользовалась Вашим советом и попробовала эту команду, но пользователь, завершив свою работу пытается войти снова (такое окошко с секундомером), но база уже заблокирована и эта история продолжается пока ее не остановишь личным вмешательством. А после этого не закрывается пользователь-администратор, от имени которого блокируется база.
А вот команда РазрешитьРаботуПользователей выполняется нормально.
Публикация на эту тему была давно, но может кто-то откликнется?
9. grum01 115 11.08.11 12:00 Сейчас в теме
"Сеанс администратора, тоже не закрывался (хотя, вроде бы должен?)."

Сеанс администратора в данном случае закроется только когда выгонятся все пользователи.
10. Anna_A 150 12.08.11 16:58 Сейчас в теме
Возможно, я что-то делаю некорректно:
- на своем компьютере открыла сеанс произвольного пользователя.
- запустила команду под администратором для завершения работы пользователей (в данном случае одного)
На экране у меня - сеанс администратора и завершенный сеанс пользователя, который ежеминутно пытается войти в систему и команда, которая не заканчивается (три окна). Все это висит до тех пор, пока я не закрываю принудительно оба сеанса (только после этого команда из командного файла считается завершенной), тогда управление передается следующей команде, т.е. копированию. Следовательно, из двух выходов, предложенных Вами, подойдет, пожалуй, только первый.

Во всей этой ситуации меня смущает сеанс администратора.
11. Mx00 247 17.12.11 13:29 Сейчас в теме
Выскажусь ещё раз
главное в архивировании не создание архива, а уверенность, что у вас ЕСТЬ архивные копии
все мнения о том, что "достаточно использовать стандартные средства windows" или простенький bat-файл отпадают по одной причине - вы не знаете создался у вас архив или нет, а проверять даже раз в неделю быстро надоедает и что там с архивированием ни кто не в курсе (и не надо думать, что вы не такой :-) )
поэтому система архивирования должна сообщать ответственному о том что произошел сбой при архивации.
после такой постановки здачи думаем и выбираем (или создаем) нормальную систему архивирования
Удачи всем.
12. Properman 5 31.10.12 11:40 Сейчас в теме
Изобретать колёса нет смысла! В наше время нужны такие средства, которые бы не упирались в длину пути к файлу и невозможность создания большего количества архивов, хотя бы на всякий случай! Ниже приведу ссылку на программу автоматической архивации неограниченного количества баз и символов в пути к файлу, оцените сами что лучше приятный интерфейс или строчки скриптов, где любая ошибка и уже не работает! :) , вот ссылка: http://infostart.ru/public/157922/
13. tormozit 7136 15.11.12 14:39 Сейчас в теме
2iS Интеграция http://infostart.ru/public/145983/ может автоматизировать регулярную выгрузку для всех ваших баз 1с за несколько кликов. Базы поддерживаются любые, файловые и серверные, обычные и управляемые, 8.1, 8.2, 8.3.
Оставьте свое сообщение