Обновить функционал агента на Python под Linux

Цена договорная • безналичный расчёт, электронные деньги
14 марта 2018, 14:07 • 3 отклика • 55 просмотров
ТЗ апдейт агента

Есть пакет агента, написанного на питоне (python). Агент был создан с целью получить информацию о задании печати, сохранить в файл csv и передать файл на сервер по ftp.

По почте отправлю подробное ТЗ

Внутри пакета есть скрипт по инсталляции компонент пакета агента.

Есть задача добавить ряд функций к этому существующему агенту:
1)Создать скрипт полной деинсталляции (silent, обычная) файлов агента
  • Остановка служб, удаление файлов и т.п.
  • Перед удалением файла с параметрами агента, передать по ftp информацию на сервер, что удаление прошло успешно.
2)Обновление пакета агента. Создать скрипт по обновлению (silent, обычная) пакета агента.
  • Проверить, что есть обновление для данного агента (находим все цифры в названии, удаляем точки (regex), проверяем? если новая версия новее по дате и цифровое значение больше- обновляем)
  • Получить по ftp установочный пакет
  • Остановка служб, обновление файлов, запуск служб
  • Удалить скопированный пакет обновления
  • Передать на сервер по ftp, что задача выполнена успешно, новая версия агента
3)Получение файла параметров агента в формате XML с сервера по ftp, обновление файла параметров агента в silent режиме
  • Получить файл параметров агента, остановить службу, обновить файл, запустить службу
  • Передать на сервер по ftp, что успешно обновлен файл параметров
4)Передача файла параметров агента по ftp в формате XML на сервер по запросу с сервера

5)Добавить функционал SNMP опроса печатного устройства перед отправкой csv файла на сервер. Результат сохранить в файле csv, который создает агент

6)Создать механизм исполнения команд через чтение файла с сервера по ftp с уведомлением о завершении операций

7)Ведение на агенте файла журнала, команд с сервера и их статусов, чтобы не повторять действия

8)Добавить в файл параметров агента следующие параметры, возможно нужно больше или меньше:
  • периодичность чтения заданий с сервера
  • директория откуда забираем пакет обновления с сервера по ftp
  • директория хранения пакета обновления на клиенте
  • файл на сервере для обмена статусами от агентов (через один файл или добавляя строки в один и тот же файл) по ftp
  • файл на сервере для чтения команд для агентов по ftp
  • директория для обмена файлами параметров агента по ftp
  • параметры SNMP для чтения значения конкретного OID