К вопросу об архивации баз 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". Например, ввести поочередно команды создания архива и открытия доступа к базе. Тогда и не нужно будет заморачиваться на на измерение времени архивации. Базы станут доступны сразу после создания архива.

 

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

 

См. также

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

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    72788    625    45    

84

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

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

1200 руб.

03.09.2014    15705    21    6    

27

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

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

04.12.2023    9426    n_mezentsev    15    

27

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

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

07.10.2022    28599    sapervodichka    37    

147

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

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

1 стартмани

25.08.2022    5732    3    Gnom-Gluck    6    

7

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

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

1 стартмани

02.06.2022    4689    3    Giblarium    12    

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