Запуск обновления с командной строки

Ваші пропозиції щодо розширення функціоналу програми.
HLS64
Повідомлень: 10
З нами з: 21 січня 2013, 17:46

Re: Запуск обновления с командной строки

Повідомлення HLS64 » 23 січня 2013, 19:12

Я сейчас дописываю ПО для автоматического обновления медка, состоит из двух компонент: загрузчик обновлений и апдейтер, оба инсталлируются и работают как системные службы и работают по независимым графикам обновлений.

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

В общем комплекс из двух модулей предусматривает любые варианты максимально коректного обновления в фоновом режиме: и для сетевых версий и для локальных и для терминальных серверов и с контролем версий, и для мобильных ноутбуков и поддержка прокси, а также экономия трафика/полосы пропускания.

До конца недели ПО дописывается и тестируется на серверах и рабочих станциях в смешаном режиме.
Дайте хотя бы одно-два обновления медка протестировать в реальных условиях, проверить утечки памяти и выложу в бесплатный доступ.
| Показать
P.S. Поддержка разработчиков в плане определения установленной версии медка и запущенных клиентов приветствуется, потому что выуживание версии медка из базы FireBird (городить фреймворк и коннектор) и отлавливание запущенных клиентов (ладно ещё через список процессов, а вот контроль со стороны отдельного приложения сетевых подключений к серверу медка вообще жесть) более трудоёмкий процесс, чем создание самих приложений.

Родин Евгений

Re: Запуск обновления с командной строки

Повідомлення Родин Евгений » 23 січня 2013, 19:20

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

HLS64
Повідомлень: 10
З нами з: 21 січня 2013, 17:46

Re: Запуск обновления с командной строки

Повідомлення HLS64 » 23 січня 2013, 19:34

Родин Евгений писав: Одно будет точно.
Это к нетерпеливым пользователям относилось.

Прошу прощения у тех, кто паралельно пишет аналогичное ПО. Просто этап со скриптами и с 3d-party софтом мы уже прошли, нужно нормальное маштабируемое решение, приятно, если ещё кому-нибудь пригодится.

sashaoli
Повідомлень: 164
З нами з: 18 січня 2013, 01:13
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення sashaoli » 23 січня 2013, 19:55

Думаю, після вихідних, (після здачі річного балансу) викладу тестову версію.
Якби не звіти, тоб уже закінчив, а так 2/3 зроблено.
І ще,я не програміст, це такби мовити хобі, не очікуйте внаступній версії ключів запуску (поки).
План такий: програма складаеться з 2-частин
Перша - задає початкові налаштування (інтерфейсна частина)
Друга - сам модуль оновлення (без інтерфейсу, фонова частина) можна запускати будь-яким планувальником.
зробивши налаштування у першій частині

ANB
Повідомлень: 74
З нами з: 02 лютого 2012, 18:24

Re: Запуск обновления с командной строки

Повідомлення ANB » 24 січня 2013, 15:04

Большая просьба от админов сетей и сетевой версии сего продукта. Не нужно сложностей! Нужна простая программа (не служба), которая будет запускаться из под стандартного планировщика Windows и без участия человека установит все необходимые обновления. Мне кажется, именно разработчику было бы легче всего доработать свою программу обновления update.exe.
Предлагаю сначала разработать техническое задание (требования) к программе, чтобы разработчикам легче было осуществлять реализацию.

Краткое ТЗ для разработки (доработки) программы обновления может выглядеть так:
1. Программа для обновления Медка Medupd.exe (далее Программа) должна обеспечивать возможность установки обновлений (upd-файлов) из сетевой (локальной) папки корпоративной сети предприятия.
2. Программа должна работать в командном и диалоговом режиме. Командный режим обязателен (из командной строки с параметрами). Диалоговый желателен.
3. Программа должна предусматривать возможность автоматической установки всех обновлений (upd-файлов), которые находятся в сетевой (локальной) папке корпоративной сети, вплоть до самой старшей версии включительно.
4. Программа должна предусматривать (опционально) ведение текстового лог-файла о процессе обновления с фиксацией даты и времени выполнения каждого шага процесса обновления. Имя и путь и к лог-файлу пользователь должен иметь возможность указать самостоятельно. Лог-файл ведется в режиме добавления информации.
5. Должен быть предусмотрен запуск программы из под стандартного планировщика Windows по указанному пользователем расписанию.
6. После выполнения обновления программа и ее модули не должны оставаться в памяти компьютера (не служба).
7. Справка по параметрам командной строки должна выводиться при ошибочном синтаксисе в момент запуска программы или при указании опции типа /? (-?).
8. Пример командной строки для запуска обновления:
update.exe [путь к папке с медком] [путь к папке обновлений] [/параметр1] [/параметр2] и т.д.
параметр1- l имя лог файла

Если есть дополнения (изменения) к указанному ТЗ просьба не молчать. Особенно хотелось услышать представителей разработчика.

HLS64
Повідомлень: 10
З нами з: 21 січня 2013, 17:46

Re: Запуск обновления с командной строки

Повідомлення HLS64 » 24 січня 2013, 19:04

Программа должна работать в командном и диалоговом режиме. Командный режим обязателен (из командной строки с параметрами). Диалоговый желателен.
Так практически есть:
update.exe /UC файл_обновления.upd ? AUTO - установка обновления в конкретную папку медка без GUI
update.exe /UL явно_указана_папка_медка папка2 - обновить медок в каталоге явно_указана_папка_медка всеми обновлениями с каталога папка2 с GUI
Логи пишутся в папка_медка\Update\UpdateLog.txt
Можно ещё поиграться с ключами /UG /UU /UW /UR.
Кроме того update.exe перезапускает сервис медка во время обновления.

Можно поинтересоваться, что это вам даст?
| Показать
Кто будет закачивать новые обновления? Как быть с контролем качества закачки, обрывами связи, повторами и таймаутами?
Обновления выходят неожиданно, в любое время суток. Ну поставите вы в шедулер 2 часа ночи, а в 11 часов дня 20 числа выйдет обновление, в 17:30 бухгалтер поднимет крик и что? Опять вручную в срочном порядке, и попробуй кого выгони, все ж сдают в последний момент и некоторые уже отправили в предыдущей версии и ждут квитанцию.
Поставите шароварную програму, которая синхронизирует вам весь каталог обновлений, где 2/3 обновлений лишние, вместе с коментариями? И кто будет отслеживать запущенные клиенты во время обновления?
Поставите в шедулер обновление на 2 часа ночи, в надежде, что пользователь в 2 часа не зайдёт по терминалу? Есть такие упоротые, что зайдут, особенно в период сдачи отчетов, немотря на ваши прописанные политики. Будете прописывать блокировку аккаунтов пользователей на ночь и надеятся, что никто из других админов эти параметры не провтыкает и будет помнить, что это только для пользователей медка? А некоторые не только медком пользуются и могут пребывать в другом часовом поясе в командировке.
Как будете контролировать как вообще дела с обновлениями ? Заглядывать вручную в логфайл? Парсер логфайла по расписанию и ручная отправка мыла?
Не все так просто, как кажется сначала.
Все равно надо писать ещё много скриптов для автоматизации всего процесса, ну тогда и того что есть выше, по идее, должно хватить.

Почему вас так интересует стандартный планировщик Windows? Я понимаю что удобно, отсортировав задачи по дате, увидеть всё расписание служебных процессов, но может у вас есть какой-то хитрый план по поводу графика обновлений? Не могли бы вы навести пример?

Я тоже за стандартизацию и описание ключей для update.exe от разработчиков. Это даст некоторую стабильность и уверенность в завтрашнем дне админам, которые полагаются на пока недокументированный функционал.
Востаннє редагувалось 01 лютого 2013, 01:59 користувачем HLS64, всього редагувалось 1 раз.

sashaoli
Повідомлень: 164
З нами з: 18 січня 2013, 01:13
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення sashaoli » 26 січня 2013, 15:26

Нова версія M.e.doc Auto Updater
http://sashaoli.narod.ru/

sashaoli
Повідомлень: 164
З нами з: 18 січня 2013, 01:13
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення sashaoli » 28 січня 2013, 22:23

Знову оновив програмку
M.e.doc Auto Updater v.2.10
http://sashaoli.narod.ru/
Але бачу мало кому цікаво :roll:

Родин Евгений

Re: Запуск обновления с командной строки

Повідомлення Родин Евгений » 29 січня 2013, 00:39

Нам бы "день простоять да ночь продержаться"...тестировать некогда.

доктор
Повідомлень: 857
З нами з: 22 травня 2012, 11:39
Звідки: Полтава
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення доктор » 29 січня 2013, 00:47

sashaoli
весьма интересует, но как и сказал Евгений тестить некогда... :(
авансом спасибо уже скажу.

UPD:
сегодня предварительно потестил, сейчас буду уже не на кошках тестить. пока полет нормальный. конечно есть еще куда пилить, но как админ я счастлив :D
P.S. какое-то echo в конце не помешало бы... ;)
багрепорт «ничего не работает!» оскорбляет чувства программирующих.

доктор
Повідомлень: 857
З нами з: 22 травня 2012, 11:39
Звідки: Полтава
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення доктор » 30 січня 2013, 10:38

Увы рано обрадовался :)
Все вышесказанное мною имеет место быть для локальных медов. На сетевом обновить не захотело. После распаковки первого пакета на моменте обновления модулей программы происходит откат... :( пробовал и службу останавливать, не помогло... :(
РЕШЕНИЕ: дополнительно была остановлена служба Firebird ZvitGrp ну и + ZvitGrp само собой. "Ур-р-р-раааа!!! Заработало!!!" ©
багрепорт «ничего не работает!» оскорбляет чувства программирующих.

sashaoli
Повідомлень: 164
З нами з: 18 січня 2013, 01:13
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення sashaoli » 30 січня 2013, 10:55

Да, з ехо я щось провтикав, виправимося.
доктор, прохання-запитання
у мене не меє мережевого Медка, тому не можу нічого по тут зробити
треба знати, які служби зупиняти під час оновлення, перелік в студію!

ЗЫ: І щеб не завадило описати сам принцип роботи мережевої версії.
з роботою в термінальному режимі вирішуєтьмя просто.

Поки на черзі завантаження оновлень.

доктор
Повідомлень: 857
З нами з: 22 травня 2012, 11:39
Звідки: Полтава
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення доктор » 30 січня 2013, 14:42

Да, с сетевой немного помучиться придется. По дефолту имя службы "ZvitGrp", хотя пользователь может и поменять, или же может стоять несколько сетевых версий... Firebird сервер тоже, кто может поставить, а кто нет... на любителя (хоть и есть рекомендации), у него служба "Firebird Server - ZvitGrp", где имя привязывается к названию самой службы. Может поможет.
Вообще название самой службы лучше брать из конфигов медка (config/global.xml) хотя зачастую он зашифрован :(

Принцип работы прост:
Есть сервер, работает от вышеупомянутой службы + (сервер firebird по желанию), к нему конектятся станции и подтягивают себе обновление с сервера. Главное условие, что бы перед каждым обновлением служба была остановлена и после стартовала.
Насколько я понял, утилита запускает штатный update.exe с циклом. По идеи он сам должен останавливать и запускать ему нужные службы.... странно почему этого не делал... :?
багрепорт «ничего не работает!» оскорбляет чувства программирующих.

sashaoli
Повідомлень: 164
З нами з: 18 січня 2013, 01:13
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення sashaoli » 30 січня 2013, 16:25

Я тоже не понимаю - зачем шифровать global.xml? Чтобы скрыть версию программы и некоторые настройки :?:
Это не самый основной файл настроек, а другие открыты....
В общем, если global будет открыт то и проще будет чегото делать.
Если можна, global.xml сетевой версии гдето выложить?

sashaoli
Повідомлень: 164
З нами з: 18 січня 2013, 01:13
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення sashaoli » 30 січня 2013, 23:43

M.e.doc Auto Updater v.2.11
Незначні доробки.
На прохання доктора додано ехо в кінці.
http://sashaoli.narod.ru

ЗЫ: До понеділка доб'ю завантаження з інету.

HLS64
Повідомлень: 10
З нами з: 21 січня 2013, 17:46

Re: Запуск обновления с командной строки

Повідомлення HLS64 » 31 січня 2013, 15:39

sashaoli писав:Я тоже не понимаю - зачем шифровать global.xml? Чтобы скрыть версию программы и некоторые настройки :?:
Это не самый основной файл настроек, а другие открыты....
В общем, если global будет открыт то и проще будет чегото делать.
Если можна, global.xml сетевой версии гдето выложить?
В global.xml предположительно списки и пароли пользователей, поэтому,к сожалению, global.xml выложить от рабочей системы не получится.
Нужные вам настройки находятся в реестре HKEY_LOCAL_MACHINE\SOFTWARE\IntellectService, там может быть три варианта веток в зависимости от типа версии медка.
Больше того, если вы поставите несколько версий медка на одну машину в разных местах эти ветки множатся с добавлением цифр и закономерность не совсем ясна.
Также нельзя уверенно определять тип ПО - серверная это версия или локальная, что небезопасно.Нужно экспериментировать.
Вы спокойно можете получить сетевую версию, таким же образом, как и локальную. Или стучитесь в личку за прямой ссылкой.
Писать патчер ПО вслепую по отзывам пользователей, без отладки на настоящем дистрибутиве IMHO безответственно.

UPD: Только что поставил на рабочую станцию после локальной версии отдельно клиет сетевой версии. Старые настройки в реестре клиет сетевой версии не переписал, версию тоже. Переустановил клиет сетевой версии из под админа, данные в реестре не обновились, так и показывают чушь. Я забиваю на реестр.

P.S. Модуль автоматической закачки обновлений готов (уже крутится на 3 серверах и пара локальных станций), кому интересно, могу выложить уже.

pavel
Повідомлень: 1017
З нами з: 01 липня 2011, 09:29
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення pavel » 01 лютого 2013, 01:36

Ничего секретного в global.xml нет, ни каких паролей и юзеров (это все в безе)!
В этом файле только версия медка, тип (локалка или сеть) и путь к бекапу !
Так и не понятна целесообразность шифрования этого файла! :?

доктор
Повідомлень: 857
З нами з: 22 травня 2012, 11:39
Звідки: Полтава
Контактна інформація:

Re: Запуск обновления с командной строки

Повідомлення доктор » 03 лютого 2013, 14:24

pavel писав:Так и не понятна целесообразность шифрования этого файла! :?
В нашем украинском менталитете давно ответили на такой вопрос - "Шоб було"

По MAU - столкнулся с ошибкой и невозможностью обновить на некоторых XP. Ругалось на "невозможно удалить файл...." предполагаю, что что-то с правами. Перемещал каталог с upd файлами на разные диски, закономерности пока не словил. То на разделе D работает, то на С... :? :?
на семерках все ок... :roll:
HLS64 писав: Модуль автоматической закачки обновлений готов (уже крутится на 3 серверах и пара локальных станций), кому интересно, могу выложить уже.
Интересует.

2 Родин Евгений

В рамках акции "создай программу мечты", думаю ребят стоит отметить чем-то материальным ;) Как считаете? :)
багрепорт «ничего не работает!» оскорбляет чувства программирующих.

grindin
Повідомлень: 503
З нами з: 01 листопада 2011, 18:26

Re: Запуск обновления с командной строки

Повідомлення grindin » 03 лютого 2013, 21:42

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

шифрование глобал.хмл - это защита от кривых рук

Родин Евгений

Re: Запуск обновления с командной строки

Повідомлення Родин Евгений » 04 лютого 2013, 10:51

доктор
На свободных форумах есть такое дело...на нашем, сомнительно :(

Відповісти

Повернутись до “Побажання”