Python, RHEL и Push
Я ищу совет по решению для переноса различных сценариев на удаленные системы. Какое-то клиент / серверное приложение? Здесь ситуация. У меня есть 32 машины Windows, которые являются мобильными и путешествуют по всей территории США. IP-адрес постоянно меняется, и ни одна из этих систем не входит в домен, это просто рабочая группа. Из-за динамической природы этих систем я автоматизировал некоторые вещи с помощью скриптов Python.
Переносить вручную и загружать новые скрипты на каждый компьютер очень утомительно. Я ищу способ перенести эти скрипты Python на каждую машину. Единственное преимущество, которое у меня есть, - это коробка RHEL 5, к которой имеет доступ каждый компьютер в поле. Имейте в виду, что все эти системы находятся в частной локальной сети без доступа к глобальной сети.
Как я могу отправить несколько скриптов в клиентскую систему?
До сих пор лучшим решением было wget для Windows. Раз в час скрипт Python выходит и проверяет наличие обновлений. ЕСЛИ это находит и обновляет это загружает через wget от коробки RHEL клиентам Windows.
3 ответа
Если есть доступ к сети, вы можете просто заставить клиентов получать обновленный скрипт с http-сервера в глобальной сети или через VPN. Wget существует как для Windows, так и для Linux.
Вы могли бы написать еще один сценарий Python, который загружает сценарии Python в соответствующие локальные каталоги / каталоги через http или ftp. модули urllib/2 будут работать просто отлично. Это будет работать по локальной или глобальной сети, что может быть полезным в будущем.
Для простоты сценария вы оставляете логику планирования для окон. Просто добавьте новый скрипт в папку планировщика задач Windows и запланируйте его еженедельно или что-то еще.
Если бы они все были в домене AD, я бы порекомендовал взглянуть на функции развертывания пакетов, доступные через групповую политику. Вы должны добавить все сценарии в пакет MSI и вытолкнуть его, как вы хотите.
Сможете ли вы поместить некоторые из ваших сценариев в систему управления версиями на коробке RHEL? Это не совсем push-система, но вы можете использовать RHEL в качестве svn-сервера, а затем вытягивать обновленные сценарии в каждый блок будет так же просто, как, например, "svn up".