Python、RHEL 和 Push

Python、RHEL 和 Push

我正在寻找有关将各种脚本传输到远程系统的解决方案的建议。某种客户端/服务器应用程序?情况如下。我有 32 台 Windows 机器,它们是移动的,遍布美国各地。IP 地址不断变化,这些系统都不在域中,只是一个工作组。由于这些系统的动态特性,我使用 Python 脚本自动执行了一些操作。

手动传输并将新脚本上传到每台计算机非常繁琐。我正在寻找一种方法将这些 Python 脚本推送到每台机器。我拥有的一个优势是现场每台计算机都可以访问的 RHEL 5 盒。请记住,这些系统都在专用 LAN 上,没有 WAN 访问。

如何将多个脚本推送到客户端系统?

到目前为止,最好的解决方案是 Windows 机器上的 wget。Python 脚本每小时出去检查一次是否有更新。如果找到并更新,它会通过 wget 从 RHEL 机器下载到 Windows 客户端。

答案1

如果有网络访问,您只需让客户端通过 WAN 或 VPN 从 http 服务器获取更新的脚本即可。wget 适用于 Windows 和 Linux。

答案2

您可以编写另一个 Python 脚本,通过 http 或 ftp 将 Python 脚本下载到适当的本地目录中。urllib/2 模块就可以正常工作。这可以通过 LAN 或 WAN 工作,因此将来可能会有所帮助。

为了使脚本简单,您可以将调度逻辑留给 Windows。只需将新脚本添加到 Windows 任务调度程序文件夹并每周或按其他时间调度它即可。

如果它们都在 AD 域中,我建议查看通过组策略提供的包部署功能。您可以将所有脚本添加到 msi 包中,然后根据需要将其推送出去。

答案3

您是否可以将一些脚本放入 RHEL 机器上的源代码控制系统中?它不完全是一个推送系统,但您可以让 RHEL 充当 svn 服务器,然后将更新的脚本拉到每个机器上,就像“svn up”一样简单。

相关内容