Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2014, 12:34   #1
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию Мониторинг бэкапов

Столкнулся недавно с такой проблемой - на локальных серверах домена, в различных папках, делаются с разной периодичностью бэкапы. Чтобы их все отследить, нужно затрачивать много времени. Ну я и сделал для себя маленькую программу - монитор. Представлю вам первую бета версию программы.
Сидит данная программа в трее, сразу после запуска. Увидеть её можно либо через меню-показать, либо по двойному щелчку на иконку. Работает все просто:
  • Создаем ярлык в автозагрузку на программу;
  • Добавляем файл, которых хотим отслеживать;
  • Задаем интервал его обновления;
  • Добавляем описание и все;
Если какой либо файл не был обновлен в заданный срок или вообще удален, то программа сообщит вам об этом текстом внизу справа экрана и морганием в трее.

Интересно узнать о том нужна ли такая программа вообще кому-нибудь кроме меня, и если да, то может подскажите как её улучшить?

ps установщик копирует программу, 3 нужных ей файла *.conf и лицензию в program files, более ничего оно не делает.

Скачать можно отсюда, на форум не влезло

Последний раз редактировалось Simply-Art; 26.06.2014 в 12:38.
Simply-Art вне форума Ответить с цитированием
Старый 26.06.2014, 12:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как программа узнает когда бэкапирование окончено? И есть ли возможность узнать правильно ли сформирован бэкап?
Дело в том что я тоже столкнулся с проблемой бэкапов разных БД, поэтому тема эта мне близка как никогда.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.06.2014, 12:52   #3
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А как программа узнает когда бэкапирование окончено? И есть ли возможность узнать правильно ли сформирован бэкап?
Дело в том что я тоже столкнулся с проблемой бэкапов разных БД, поэтому тема эта мне близка как никогда.
Ну правильность бэкапов никак не проверяется. А как можно проверить их правильность то? Открыть БД? Или разархивировать zip архив сайта?

Как вариант думаю можно добавить скан размера файла, и установить порог прибавления/убавления веса.

Ну а по поводу завершения бэкапа программа тоже ничего не знает, она сейчас мониторит только время изменения файлов. Допустим у нас есть бэкап 1.bkf, он обновляется каждый день. Программа смотрит, сегодня 26.06.2014, а файл то изменен аж 24.06.2014. Значит что-то помешало сделать вчера бэкап и админ подрывается и ищет проблему как то так задумывал.

У нас бэкапы делаются ночью, а утром чтобы мне не смотреть по всем серверам что и как я и делал программу.
Simply-Art вне форума Ответить с цитированием
Старый 26.06.2014, 13:06   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

При удачном завершении бэкапирования можно мелкий файл рядом с бэкапом создавать, или в реестр чего-то зафитилить и по его наличию и содержимому делать вывод о правильности
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.06.2014, 13:15   #5
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
При удачном завершении бэкапирования можно мелкий файл рядом с бэкапом создавать, или в реестр чего-то зафитилить и по его наличию и содержимому делать вывод о правильности
Ну у меня то не программа для бэкапов, я их только мониторю, а серваки бэкапятся стандартными средствами windows server. Но если нужно, то можно прицепить парсер лог файла впринципе, но тогда нужно будет чтобы пользователь указывал "шаблон" парсинга сам, что не тривиально на первый взгляд.
Simply-Art вне форума Ответить с цитированием
Старый 26.06.2014, 13:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как можно проверить их правильность то?
У меня Информикс. Мы проверяем бэкапы примерно так: Заранее известно что будет N-ное кол-во файлов соответствующее кол-ву таблиц в базе. Значит после выгрузки в том же баше проверяем их кол-во и если облом - сигналим на почту админу, т.е. мне. А я уже ответственный за панику, если не все файлы выгрузились. Иначе пакуем в tgz и складываем в каталог инкрементно.
Иначе какой смысл в программе? Допустим СУБД повисло ночью - бэкап недосделался, файл бэкапа заблокирован модулем резервирования и прочитать его нет возможности. Твоя программа получается слажает...
Да и логирование работы создания бэкапа в текстовичек важно- можно потом его считывать и искать что-то типа "backup complete succefull" иначе бить тревогу.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.06.2014, 13:46   #7
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Запилю табличку с лог файлами значит, и сделаю поиск контрольного слова, если не найдет файл или он будет изменен не в срок или не будет слава, то тревога. Так пойдет?

Обновил программу, теперь смотрит в файлах *.log заданный текст.
Вот некоторые обозначения для расшифровки третьего столбца:
Код:
 
ND - not correct date // файл "просрочен", обновился позднее заданного интервала
NO - not open file // программа не смогла открыть файл (только к *.log файлам)
NL - not correct log // искомая фраза не была найдена в лог файле
NF - no file found // файл не найден
Из коментов уберите критику по поводу постановки английских выражении, мне так удобно и все!

Жду дальнейших предложений.

ps все что говорят ваши браузеры и сам юкоз о возможных вирусах - бред. я не стану выкладывать вирусы на мой любимый форум.

Последний раз редактировалось Stilet; 27.06.2014 в 10:22.
Simply-Art вне форума Ответить с цитированием
Старый 27.06.2014, 12:02   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Может можно как-то отслеживать завершение бэкапа по процессу котрорый их создает? Обычно консольное ПО умеет делать это, возвращая код завершения процесса. Тоже может делать и обычное ПО.
На каком ЯП сие написано?
Человек_Борща вне форума Ответить с цитированием
Старый 27.06.2014, 12:30   #9
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,265
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Может можно как-то отслеживать завершение бэкапа по процессу котрорый их создает? Обычно консольное ПО умеет делать это, возвращая код завершения процесса. Тоже может делать и обычное ПО.
На каком ЯП сие написано?
Программа не совсем предназначена для работы на том ПК где делаются бэкапы, она скорей для объединения данных о бэкапах в локальной сетке.

Кстати еще одна интересная функция открылась, мониторинг обновлений можно указать например файл "update.ver" от нода и мониторить когда было сделано обновление.

А написано все на delphi.

ps нашел баг, программа не закрывается при завершении работы windows скоро исправлю

Последний раз редактировалось Simply-Art; 27.06.2014 в 12:33.
Simply-Art вне форума Ответить с цитированием
Старый 27.06.2014, 12:44   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Программа не совсем предназначена для работы на том ПК где делаются бэкапы, она скорей для объединения данных о бэкапах в локальной сетке.
Хм...
Можно на серверах поставить маааленьких жучков-мониторов, будут мониторить процессы или запускать их. На началу/завершению процесса слать инфу на общий сервер, об успешности/неудаче/процессе создания.

Цитата:
А написано все на delphi.
Жаль... так бы хорошу библиотку подкинул бы на плюсах.

На счет проверки файлов...
Можно использовать CRC32. Делате слепок на начало старта бэкапа с оригиналов. По окончании резервации, делаете второй слепок crc32 с выжатых файлов. И сравниваете. Хотя в случае с файлами СУБД у вас ничего не выйдет

Ещё вариант... сравнивать по размеру и времени изменения... для архивов самое оно.

Буфер записи вряд ли гигабайтами будет, и вряд ли заставит себя долго ждать.. так что берем файл, если его нет - бэкап не создан.
если файл есть, смотрим дату измнения и размер в байтах. Запоминаем. Ждем 30 сек. Обращаемся за тем же самым.
Сравниваем:
Если даты измнения не совпадают а так же размеры в байтах отличаются, то архив находится в процессе создания.
Если дата изменения из вчера. бэкап создан когда-то вчера.

И так повторяем проверки пока размерыи даты изменения не будут равны.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мониторинг в Excel Cheryrg Microsoft Office Excel 10 28.12.2012 16:19
Мониторинг shtep PHP 1 06.02.2012 10:37
Мониторинг ОС Smile08 Безопасность, Шифрование 3 08.11.2010 16:00
Мониторинг сервера Режик HTML и CSS 1 06.04.2010 01:57
Мониторинг CS bookkc Фриланс 4 09.01.2010 18:17