Контроль места под резервные копии, с автоматическим удалением файлов при нехватке, с оповещением

28.06.19

Разработка - Инструментарий разработчика

Для контроля места и удаления файлов при нехватке на дисках под BackUp, удаленно по сети. Оповещает по почте о проделанной работе на указанный адрес электронной почты.

Файлы

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

Наименование Скачано Купить файл
Контроль места под резервные копии
.epf 28,78Kb ver:1.1.4
2 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Как-то возникла идея контролировать резервные копии баз в автоматическом режиме.

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

Как понимаете для такого количества резервных копий дисков не напасешься, учитывая то, что база весит больше 100гб. Данные резервные копии создаются штатными средствами MS SQL  в автоматическом режиме. Резервные копии также дублируются на 2 разных сервера.

Схема создания резервных копий на MS SQL (как выглядит у меня): 

- резервная копия каждый день (храним минимум 6 копий)

- резервная копия каждую неделю (храним минимум 6)

- резервная копия каждый месяц (храним минимум 2)

- резервная копия ежеквартально (храним минимум 2)

Далее, чтобы для данных копий хватало места, данная обработка автоматически выполняется в определенный момент времени, перед созданием резервных копий, анализируя место на диске серверов, и очищая если его не хватает (для добавления данной формы в фоновые задания, читайте мою публикацию //infostart.ru/public/153090/)

Логика контроля места такая: 

Автоматически создается vbs скрипт, который высчитывает свободные объемы дисков указанных серверов (важно запускать данную обработку от имени администратора) Откуда взят данный скрипт уже не вспомню, очень давно это было. Но важно то, что он работает! Создастся файл указанный в настройке: Файл хранения остатка места на диске, откуда вытягивается остаток места на диске компьютера. Для того чтобы выбрать именно тот диск, на котором размещены резервные копии, нужно указать диск в поле: Диск. В поле Сервер указать имя компьютера на котором лежат резервная копия, именно имя! В поле База вбиваем имя базы (тут без разницы какое имя, просто идет группировка по данному полю, если проверяется несколько).

Обработка собирает все резервные копии по указанным папкам, сортирует по Времени изменения файла, замеряет размер последнего, и уже пляшет от него. В настройке задается еще параметр: Добавить байт к максимальному размеру BackUp, это сколько нужно прибавить размеру свободного пространства для очистки файлов. Также есть параметр: Максимальный размер BackUp (если не найден ни один файл) - нужен в случае, если нет или не найден файл BackUp.. это на всякий случай.

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

В макете ФайлНастройки указываем путь хранения настройки. Это нужно сделать через конфигуратор.

Как видим по скрину, данная форма работает как в обычных формах, так и в управляемых.

Данная обработка должна работать в любой конфигурации и любых релизах.

Тестировалась на конфигурациях: УПП 1.3.115.2; БП 3.0.64.54; БП 2.0.66.64.

Вступайте в нашу телеграмм-группу Инфостарт

обработка контроль резервных копий фоновая задача автоматическая

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    80045    409    171    

343

Разработка Инструментарий разработчика Групповая разработка (Git, хранилище) Разработчик Платные (руб)

Практический курс по работе с AI-агентами для разработчиков 1С уровня middle и senior, а также тимлидов команд: от постановки задач и передачи контекста до создания расширений, интеграций, MCP-инструментов, тестов и проверки готового решения.

50000 руб.

10.09.2026    4218    26    0    

19

Пакетная печать Печатные формы Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    42698    118    54    

131

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Разработчик Аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    14107    52    62    

63

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    71626    142    41    

150

Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    27934    101    46    

107

Инструментарий разработчика Разработчик 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    56432    194    63    

222

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5. Работает на возможностях платформы, внешние компоненты не используются.

6000 руб.

25.02.2026    6181    22    1    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. hercares 22.02.19 23:13 Сейчас в теме
Есть возможность реализовать использование, к примеру, viber бот вместо email, который можно заметить несвоевременно?
4. iones 204 26.02.19 09:25 Сейчас в теме
(1)В качестве оповещения, можно прикрутить все что угодно.
2. user1162240 23.02.19 18:07 Сейчас в теме
А не легче все реализовать через батники и Планировщик заданий операционной системы?
3. iones 204 26.02.19 09:24 Сейчас в теме
(2)Если же вы можете все данные функции реализовать bat-файлом. Пожалуйста!
Не претендую на то, что только такой вид реализации имеет право быть. Это как еще один из вариантов решения.
5. hercares 26.02.19 10:07 Сейчас в теме
ИМХО, вариант с оповещением на email кажется архаичным и не оперативным. Но да, вы правы, можно прикрутить
6. iones 204 26.02.19 10:18 Сейчас в теме
(5)Где как. В нашей организации в обязательном порядке должен быть запущен почтовый клиент, с оповещением поверх всех окон. Нас это как раз устраивает. А остальное закрыто (соц.сети, viber, whatsapp, skype и т.п.)
Учту пожелания на будущие версии.
7. CyberMuesli 14.04.19 10:32 Сейчас в теме
Очередная приблуда, решающая то, что делается штатными средствами SQL и правильной схемой бэкапирования.

Продуктив: база 100Гб, размер полного бэкапа 20Гб, посекундный restore — на два два месяца назад, хранение: часовой диф — 4 часа, ежедневные копии — 2 дня, еженедельные — месяц, ежемесячные — год. Итого 400Гб. Какая еще нехватка места? Какой размер современных СХД?

Старые копии удаляются штатными средствами SQL. Проектный документ, описывающий схему управления местом с помощью скриптика, который неизвестно откуда взялся, но работает — не согласовало бы и одно вменяемое ответственное лицо.

В RTO 1 час укладываемся с запасом.

В контурах разработки и опытно промышленной эксплуатации — по 50 баз актуальностью не более месяца для разработки и тестирования по разным задачам. Итого сто копий продуктива.

Т.к. они жестоко режутся при передаче, их размеры по 10…30Гб, общий объем 800 Гб. Схема бэкапа — месяц посекундного отката каждой базы, до двух месяцев — restore на точки восстановления, в качестве ежедневных и еженедельных копий выступают дифы, что на порядок снижает необходимое место. Итого размер бэкапов двух сред — 700 Гб.

Да, бэкапирование тестовых сред представляет проблему из-за огромного количества баз. Один раз, работая подрядчиком в сотовом операторе, мы потеряли свою региональную базу и с удивлением узнали, что заказчик не бэкапирует тестовые среды.

Но при грамотном подходе, места для бэкапов нужно не более, чем винт с самым рядовым объемом. Не только для одной продуктивной базы, но и для целых сред.

P.S. с удивлением узнал, что инфостарт заменяет в сообщениях слово от-кат на звездочку. ))
8. iones 204 28.05.19 10:55 Сейчас в теме
(7) Читайте сообщение (3)
Перед тем как плеваться и осуждать. Это реализация контроля средствами 1С. Да, есть еще сотня другая вариантов решения. Не претендует на уникальность.
Насчет скриптика, выкладываю для изучения. Откуда я его нашел, уже не вспомню, это было более 10 лет назад.
Код ниже:
Const ForReading = 1
Const ForWriting = 2
Const tFolder = "d:\log\"
Const tFileName = "log.txt"

set objFSO=CreateObject ("Scripting.FileSystemObject")

Set objFile = objFSO.OpenTextFile(tFolder & tFileName, ForWriting)
sText = "disks"
objFile.WriteLine sText
objFile.Close

strComputer = "my_comp_name"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colDiskDrives = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive")

For Each objDrive In colDiskDrives
	strDeviceID = Replace(objDrive.DeviceID, "\", "\\")
	Set colPartitions = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_DiskDrive.DeviceID=""" & strDeviceID & """} WHERE AssocClass = " & "Win32_DiskDriveToDiskPartition")
	For Each objPartition In colPartitions
		Set colLogicalDisks = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_DiskPartition.DeviceID=""" & objPartition.DeviceID & """} WHERE AssocClass = " & "Win32_LogicalDiskToPartition")
		For Each objLogicalDisk In colLogicalDisks
			Set colDisks = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk Where DeviceID = '" & objLogicalDisk.DeviceID & "'")
			For Each objDisk in colDisks

				Set objFile = objFSO.OpenTextFile(tFolder & tFileName, ForReading)
				sFileText = objFile.ReadAll
				objFile.Close

				Set objFile = objFSO.OpenTextFile(tFolder & tFileName, ForWriting)

				objFile.WriteLine sFileText & objLogicalDisk.DeviceID & " - " & objDisk.FreeSpace & " byte"
				objFile.Close

			Next
		Next
	Next
Next
Показать
Для отправки сообщения требуется регистрация/авторизация