gifts2017

Архивирование баз и организация их хранения

Опубликовал Андрей Фоломкин (folo) в раздел Администрирование - Сервисные утилиты

Конфигурация позволяет автоматизировать создание выгрузок (.DT) для неограниченного количества баз данных и упорядочить структуру хранения архивных файлов на диске.
Работает с файловыми и серверными вариантами баз.
Может автоматически запускать архивацию при старте.
Умеет выгонять пользователей и снова разрешать вход после создания архива.

Основа программы- справочник информационных баз. Справочник имеет иерархическую структуру, что позволяет запустить архивацию отдельной базы, группы баз или всех в списке.  В настройках программы указывается путь к каталогу архивов и путь к запускающей программе 1С.

Алгоритм работы :
- запуск Предприятия с командой выгнать пользователей и заблокировать базу.
- Запуск конфигуратора с командой выгрузить базу в указанный каталог\ подкаталог Имя Группы \ подкаталог ИмяБазы\файл Имябазы+ДатаВремя.DT
-Запуск Предприятия с командой разблокировки пользователей.

Для каждой базы фиксируется дата последней архивации, дата последней ошибки при архивации и выводится список имеющихся архивов.

 При запуске от имени пользователя АРХИВАТОР автоматически запускает архивацию всех баз с включенным флажком "Архивировать".
Поэтому при запуске через планировщик задач можно организовать полную фоновую архивацию баз с нужной периодичностью.

Скачать файлы

Наименование Файл Версия Размер
Файл программы 36
.dt 40,82Kb
28.04.15
36
.dt 40,82Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Данияр Даулетбаев (krunm) 14.04.15 06:27
2. Антон Стеклов (asved.ru) 15.04.15 04:00
Когда ж вы документацию-то читать будете...
http://its.1c.ru/db/v83doc#bookmark:adm:TI000000137

Русским по белому написано:

Не рекомендуется использовать данный способ для создания резервной копии информационной базы по следующим причинам:

● может возникнуть ситуация, при которой файл выгрузки будет невозможно загрузить, если в информационной базе, из которой производилась выгрузка, существовали ошибки
3. Александр (МимохожийОднако) 15.04.15 07:36
(2) asved.ru, что посоветуешь для большой базы в режиме клиент-сервер?
4. Максим *** (premier) 15.04.15 09:00
(3) МимохожийОднако, а для больших, да и маленьких тоже, баз в режиме клиент-сервер в любой СУБД существуют собственные средства создания архивов. Причём, в отличие от выгрузки в файл *.dt эти средства не требуют отсутствия клиентских сеансов.
5. Андрей Фоломкин (folo) 15.04.15 09:50
Представьте, что у Вас 50-70 клиентских баз. Часть файловых- часть серверных. Серверные можно архивировать средствами SQL. А как быть с файловыми ? Да и клиенту копию базы в виде Bak файла не пошлешь. В таком случае выгрузка в DT универсальнее. Конфигурация создавалась под определенные сложившиеся условия и, пусть не идеальна,возможно, кому то облегчит жизнь.
6. Андрей Фоломкин (folo) 15.04.15 09:53
(2) asved.ru, ошибки могут возникнуть и при переходе из файловой на серверную. Проблема не в использовании выгрузки а в самих ошибках.
7. Алекс Климанов (fuxic) 17.04.15 12:41
- Код ужасный по оформлению. Все просто как карандаш, а руки оторвать с удовольствием. Бесит "зНАЧЕНИЕ зАПОЛНЕНО", "Процесс мохжет занять" и кривота написания всего кода. Можно не соблюдать стандарты, но хотя бы пользоваться "ctrl+пробел" и "alt+shift+F"
- У пользователя может не стоять пароля, зачем пугать вопросами.
- Можно использовать ПолучитьИмяВременногоФайла("cmd") и потом удалять файл, а не ИмяФайла = КаталогВременныхФайлов()+"df3hj.cmd"; и засирать темп.
- Для запуска баз и архивации нет привязки к константе "КаталогЗапуска1С" (ваще не используется), а прописано через КаталогПрограммы(), хотя вроде архивируем из 8.2 уже 8.3. И советую самостоятельно искать последнюю версию в каталоге программ или указать каталог установки релизов, а не тренировать руки и память, чтобы менять путь после новых релизов. Тем более для баз желательно сделать выбор версии или релиза.
- Зачем галку "архивировать" недоступной оставил?
- Запросы собираешь дедушкиным методом.

Может кто-то вырезал удачно функционал архивации из БСП?
8. Андрей Фоломкин (folo) 17.04.15 12:59
(7) fuxic, спасибо за вежливую и тактичную рецензию. Но - конфа успешно работает уже три года. Переписывать код только для того, чтобы он Вас не бесил я не буду.
По поводу пароля- Вы правы. Предупреждение о пустом пароле снял. Странно, но галка Архивировать доступна и работает. Про автоподбор версии и релиза подумаю.

9. Станислав Елизаров (BR@T@N) 27.04.15 17:26
Скачал, пока изучаю.
1. Но сразу наткнулся на то, что длина вводимого пароля не может превышать 10 символов. Так лучше не делать. У меня например текущий пароль 11 символов. Не такая уж большая конфигурация и думаю, что реквизиту "пароль" можно установить неограниченную длину строки для универсальности. (Критично)
2. Да действительно, на форме настройки констант галка "Сжимать файлы выгрузки ZIP" недоступна (константа "СжиматьВАрхив)". (Не критично)
3. Каталог выбора запуска версии клиента 1С необходимо прописать в форму элемента справочника "Базы". Т.к. на одном предприятии могут работать ИБ на платформах разных версий. (Не критично, но неудобно).
4. Для эстетичности чтения программистам, можно применить "alt+shift+F". (Не критично).

Что-то из функционала можно наверное подсмотреть тут: http://infostart.ru/public/324661/

Идея хорошая и полезная!
10. Андрей Фоломкин (folo) 28.04.15 12:14
(9) BR@T@N, про пароль согласен. Сжимать в ZIP сначала добавил, но размер ZIP файла оказался ненамного меньше DT. Так что смысла сжимать в zip нет.
С каталогом выбора запуска что нибудь придумаю на досуге. По нему уже 2 отрицательных рецензии. Да и код подправлю.
11. Андрей Фоломкин (folo) 28.04.15 12:34
Файл обновлен. Длина пароля увеличена до 20 знаков, включена архивация в ZIP, код приведен в надлежащий вид.
12. Антон Стеклов (asved.ru) 07.05.15 05:46
(6) folo, да, но если при переходе мы можем исправить ошибки и выполнить переход еще раз, то при восстановлении из бэкапа проблема фатальна.
13. Андрей Фоломкин (folo) 07.05.15 09:35
(12) asved.ru, согласен. Но можно сначала восстановить бэкап в файловую копию, которая менее критична к ошибкам. А далее по Вашему сценарию- исправляем ошибки и делаем бэкап снова уже для серверной.
14. Павел Павел (modestry) 16.12.15 08:56
Добавить выгрузку на яндекс диск надо
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа