1

I'm looking for advice on a solution to transfer various scripts to remote systems. Some kind of client/server application? Here is the situation. I have 32 Windows machines that are mobile and travel all around the US. The IP address change constantly and none of these systems are on a domain just a workgroup. Due to the dynamic nature of these systems I've automated some things with Python scripts.

It's very tedious to do a manual transfer and upload the new scripts to each computer. I'm looking for a way to push these Python scripts to each machine. The one advantage I have is a RHEL 5 box that each computer in the field can access. Keep in mind these systems are all on a private LAN, with no WAN access.

How can I push multiple scripts to client system?

So far the best solution has been wget on the Windows boxes. Once an hour the Python script goes out and checks for any updates. IF it finds and update it downloads via wget from the RHEL box to the Windows clients.

masegaloeh
  • 18,236
  • 10
  • 57
  • 106
Matt Chavez
  • 69
  • 2
  • 8

3 Answers3

1

if there is network access, you can simply have the clients wget the updated script from http server on a WAN or over VPN. wget exists for windows as well as Linux.

dyasny
  • 18,802
  • 6
  • 49
  • 64
0

You could write yet another python script that downloads the python scripts into the proper local dir/s via http or ftp. urllib/2 modules would work just fine. This would work over a LAN or WAN so that may be helpful in the future.

To keep the script simple you leave the scheduling logic to windows. Just add the new script to the Windows Task scheduler folder and schedule it weekly or whatever.

If they were all on an AD domain I would recommend looking at the package deployment features available through group policy. You would add all the scripts to an msi package and push it out as you wish.

CarpeNoctem
  • 2,437
  • 4
  • 23
  • 32
0

Would you be able to put some of your scripts in a source control system on the RHEL box? It's not quite a push system, but you could have the RHEL act as an svn server, and then pulling the updated scripts to each box would be as simple as a 'svn up', for example.