Назад | Перейти на главную страницу

Python, RHEL и Push

Ищу совет по решению переноса различных скриптов в удаленные системы. Какое-то клиент-серверное приложение? Вот такая ситуация. У меня есть 32 машины с Windows, которые являются мобильными и путешествуют по США. IP-адрес постоянно меняется, и ни одна из этих систем не находится в домене, а является рабочей группой. Из-за динамического характера этих систем я автоматизировал некоторые вещи с помощью скриптов Python.

Очень утомительно выполнять перенос вручную и загружать новые скрипты на каждый компьютер. Я ищу способ протолкнуть эти скрипты Python на каждую машину. У меня есть одно преимущество - это блок RHEL 5, к которому может получить доступ каждый компьютер в полевых условиях. Имейте в виду, что все эти системы находятся в частной локальной сети без доступа к глобальной сети.

Как я могу отправить несколько скриптов в клиентскую систему?

Пока что лучшим решением был wget на Windows. Раз в час скрипт Python выходит и проверяет наличие обновлений. Если он находит и обновляет, он загружается через wget из окна RHEL в клиенты Windows.

если есть доступ к сети, вы можете просто попросить клиентов получить обновленный сценарий с http-сервера в WAN или через VPN. wget существует как для Windows, так и для Linux.

Вы можете написать еще один сценарий python, который загружает сценарии python в соответствующий локальный каталог через http или ftp. Модули urllib / 2 будут работать нормально. Это будет работать через LAN или WAN, так что это может быть полезно в будущем.

Чтобы сценарий оставался простым, вы оставляете логику планирования для Windows. Просто добавьте новый сценарий в папку планировщика задач Windows и запланируйте его еженедельно или что-то еще.

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

Сможете ли вы поместить некоторые из ваших скриптов в систему управления версиями в блоке RHEL? Это не совсем система push, но вы могли бы заставить RHEL действовать как svn-сервер, а затем, например, вытащить обновленные скрипты в каждое поле было бы так же просто, как svn up.