Скрипт VBS для автоархивации баз 8.2 (для многопроцессных кластеров) v.1.2

13.10.11

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

Скрипт для автоархивации базы с блокировкой  и отключением пользователей (для каждого рабочего процесса) + перезагрузка сервиса 1с

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
скрипт v.1.2 (1с8.2)
.vbs 8,41Kb
54
54 Скачать (1 SM) Купить за 1 850 руб.
Все скрипты одним архивом
.rar 9,08Kb
197
197 Скачать (1 SM) Купить за 1 850 руб.
скрипт
.vbs 6,44Kb
193
193 Скачать (1 SM) Купить за 1 850 руб.
скрипт v.1.1
.vbs 7,88Kb
353
353 Скачать (1 SM) Купить за 1 850 руб.

Этот скрипт развитие этой темы

http://www.infostart.ru/public/19722

также использовались наработки из

http://www.infostart.ru/public/63466

и

http://www.sql.ru/forum/actualthread.aspx?bid=63&tid=507764&pg=3

Мной данный скрипт используется для сохранения недельных архивов

А теперь собственно описание алгоритма работы скипта:

1. Уведомление юзеров о начале регламентных работ

2. Установка блокировки подключений на базу

3. Отключение конектов юзеров к нужной базе ДЛЯ КАЖДОГО ИЗ РАБОЧИХ ПРОЦЕССОВ

4. Выгрузка архива базы

5. Проверка наличния выгруженого архива

6. Удаление старых архивов базы

7. Снятие блокировки на подключение к базе.

8. Уведомление администратора о выгрузке и объеме свободного места на диске архива через нет сенд

9. Перезагрузка сервиса сервера 1с8.1 (рагент)

10. Уведомление администратора о удачной или неудачной перегрузке сервиса 1с8.1 через нет сенд

 

Здесь собрано множество ссылок  на подобные разработки часть которых я использовал, поэтому отдельное спасибо alexk-isза проделаную работу.

В следующем варианте скрипта хочу прикрутить еще тестирование  исправление базы.

Также использую сокращенный вариант скрипта для ежедневных выгрузок.

В НОВОЙ ВЕРСИИ от 25.01.10

ДОБАВЛЕНЫ:

1. Проверка на создание архива, в противном случае удаление не происходит.

2. Код для перезагрузки сервиса 1с

ИЗМЕНЕНЫ:

1. Переменные вынесены в начало скрипта

2. Последовательность создания и удаления архивов баз

В НОВОЙ ВЕРСИИ от 10.10.11

Добавлен варианты скрипта для 1с8.2

 

См. также

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

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

6000 руб.

06.11.2012    72923    627    45    

85

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

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

1200 руб.

03.09.2014    15761    21    6    

27

Архивирование (backup) Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение поможет настроить резервное копирование баз SQL в стандартный файл выгрузки баз 1С (*.dt).

2400 руб.

27.08.2024    1200    1    4    

1

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

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

04.12.2023    9614    n_mezentsev    15    

27

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

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

07.10.2022    29120    sapervodichka    37    

147

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

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

1 стартмани

25.08.2022    5783    3    Gnom-Gluck    6    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rebuzx 164 11.01.10 21:17 Сейчас в теме
2. Asis 13.01.10 10:30 Сейчас в теме
Думаю что удаление старых архивов базы (шаг 4) нужно делать в последнюю очередь.
Иначе есть вероятность (пусть небольшая но есть), что не окажется ни одного архива в случае сбоя на последующих шагах.
dred2001; +1 Ответить
3. dred2001 47 13.01.10 11:36 Сейчас в теме
(2). Да согласен.
В следующей версии добавлю проверку на создание файла выгрузки
а после этого только удаление устаревших.
4. a-novoselov 1158 14.01.10 19:00 Сейчас в теме
Отличный скрипт, ежедневные архивы делает наура! Маленькое пожелание на использование путей из переменной вначале, а так просто супер. Спасибо огромное.
5. dred2001 47 25.01.10 18:08 Сейчас в теме
Обновил скрипт.
Старался учесть все пожелания.
От себя добавил перегрузку сервиса 1с.
Кстати хочу посоветоваться.
Стоит ли добавлять в скрипт код для тестирование исправление базы?
Сейчас у меня для тестирование исправление работает батник вот и думаю в отдельный скрипт его переделать или включить в состав этого.
Какие будут предложения?
8. a-novoselov 1158 05.02.10 08:07 Сейчас в теме
(5) Лучше тестирование исправление отдельным скриптом делать.
(6) Тоже было разок, добавил:
If UCase(InfoBase.Name) = UCase(BaseName) Then
    ' Устанавливаем запрет на подключение новых соединений
    InfoBase.ConnectDenied = True
    InfoBase.DeniedFrom = CStr(Now())
    InfoBase.DeniedTo = CStr(Now() + 1 / 12)
    InfoBase.DeniedMessage = LockMessageText
    InfoBase.PermissionCode = LockPermissionCode
    WorkingProcessConnection.UpdateInfoBase (InfoBase)
    WScript.Sleep(200000)
End If
Показать

Но еще раз сегодня архив не выгрузился :( . Можно добавить блокировку регламентных заданий на время выгрузки и количество попыток?
Кстати, неотработавшее задание висит как "Задание выполняется в настоящее время (0х41301)".
9. dred2001 47 07.02.10 01:45 Сейчас в теме
(8) Да для универсальности можно добавить блокировку регламентных заданий. У меня они с выгрузкой базы пока не пересекаются но на будущее думаю не помешает.
А количество попыток обязательно добавлю, сам в этой необходимости уже убедился.
6. dred2001 47 29.01.10 13:38 Сейчас в теме
У меня один раз сервис 1с не стартонул, пришлось вручную запускать.
Скорей всего нужно увеличить время задержки между запуском сервиса и его опросом.
В следующей версии добавлю возможность задавать количество попыток запуска сервиса 1с.
7. Kiber_ 03.02.10 12:05 Сейчас в теме
Чудненько! Как раз искал подобный скрипт...
Недельку потестю, потом напишу более весомый отзыв.

А пока огромное спасибо :)
10. Kiber_ 11.02.10 15:04 Сейчас в теме
Итак, протестил скрипт.
В целом - отлично. Автору огромное спасибо.
11. kote 537 17.02.10 09:10 Сейчас в теме
Не получилось использовать весь скрипт на Win2008 Server.. Пришлось убирать часть кода, отвечающую за "выгон" пользователей из БД SQL.. Не смог разобраться в причине :( Одни догадки..
==
Кто нибудь на такой ОС успешно воспользовал весь функционал?
13. a-novoselov 1158 18.02.10 12:54 Сейчас в теме
(11) У тебя наверное на сервере COM соединение не установлено.
а вообще продолжение темы: http://infostart.ru/public/65849/
12. Kiber_ 18.02.10 08:46 Сейчас в теме
to kote: Ты-бы написал, какую ошибку выдает VBScript...
14. igor_gk 49 19.03.10 12:06 Сейчас в теме
Прошу прощения за тупость, не ругайте плз, просто объясните...
Что такое, для чего?
....
'Код блокировки базы
LockPermissionCode = "1111"
....
15. dred2001 47 21.03.10 23:47 Сейчас в теме
(14) Согласен формулировка в комментарии "'Код блокировки базы "не совсем точна,
имелось ввиду код разблокировки базы т.е. если указать параметр с этим кодом то вы получите доступ к базе при установлено блокировке, например "C:\Program Files\1cv81\bin\1cv8.exe" DESIGNER /UC 1111
16. Confucius 81 25.05.10 07:49 Сейчас в теме
Не работает скрипт почему то. Базу блокирует всех выгоняет. Пишет начало в лог. базу не выгружает. Проходит час блокировка снимаеться. Server 2008 Sp2 32 бит. Что может быть?
17. irteg 22.09.10 09:20 Сейчас в теме
если у пользователя не задан пароль, то остается окно авторизации пользователя
если имя пользователя содержит пробел, то некорректно сопоставляется пользователь при запуске
18. fomix 33 13.10.11 12:53 Сейчас в теме
А нельзя ли выложить все 3 скрипта в архиве???? Заранее спасибо!
19. a31 26.10.11 18:51 Сейчас в теме
dred2001 пишет:
dred2001 25.01.10 18:08 URL ↓Цитата ↓Ответить

Обновил скрипт. Старался учесть все пожелания. От себя добавил перегрузку сервиса 1с. Кстати хочу посоветоваться. Стоит ли добавлять в скрипт код для тестирование исправление базы? Сейчас у меня для тестирование исправление работает батник вот и думаю в отдельный скрипт его переделать или включить в состав этого. Какие будут предложения?

Спасибо огромное за сей продукт!
Скачал, потестим, но надеюсь, что все отлично будет.
Спасибо еще раз!
20. GreenFox 15.11.11 12:08 Сейчас в теме
Чтото у меня не заработало. Один раз по расписанию скрипт заработал, а после начал зависать, хотя может что-то я сам ошибся при изменении путей запуска 1с и папок в которые архивируется база.
21. Asaqura 05.12.11 01:23 Сейчас в теме
sql база. как будет работать?
22. dred2001 47 05.12.11 12:09 Сейчас в теме
(21) Asaqura, Нормально.
Скрипт как раз и предназначен для работы с серверным вариантом.
23. zhleonid8 28.01.12 21:48 Сейчас в теме
заточен под сетевую?..............
24. пользователь 03.08.12 12:28
Сообщение было скрыто модератором.
...
25. vitalyok 26.04.13 22:39 Сейчас в теме
Не удается скрипт запустить. 1.1 жалуется на строку 232 символ 2, содержимое строки Set File = FSO.GetFile(file)

Что я делаю не так, с учетом того что указываю пути на существующие папки?

UPD: Прошу прощения, не было прав на запись в ту папку. ток всё равно с ошибкой падает, какой то другой теперь, но разбираться буду позднее, пора спать.
26. AlexO 135 21.02.15 22:35 Сейчас в теме
(0)
В следующем варианте скрипта хочу прикрутить еще тестирование исправление базы.
А зачем этот швейцарский нож? На каждом этапе могут быть многочисленные ошибки/проблемы, которые полностью поставят крест на всем архивировании. Тем более, ТИИ, которое вообще может не пройти.
И тем более, выгрузка в DT крайне ненадежная сама по себе. А тут - масса операций с непредсказуемым результатом, выполняемых в автоматическом режиме!
А само создание архива 1С через скрипт - одна строчка.
Оставьте свое сообщение