How to program in Python to run system commands in 1000s of servers

Roy Smith roy at panix.com
Wed Apr 6 03:24:20 CEST 2011


In article <mailman.52.1302022780.9059.python-list at python.org>,
 geremy condra <debatem1 at gmail.com> wrote:

> On Tue, Apr 5, 2011 at 7:51 AM, Babu <babukk at gmail.com> wrote:
> >
> > Here is my problem:  Want to program in python to run sysadmin
> > commands across 1000s of servers and gather the result in one place.
> > Many times the commands need to be run as root.  We cannot use ssh as
> > root remote connectivity as well.  What are the different ways of
> > programming in python to achieve this?
> 
> There are a bajillion ways to do it badly, but SSH sounds like the
> right tool for the job here. You really don't want your remote admin
> system compromised, and fabric makes this kind of thing really much
> less painful.

Agreed on the fabric (fabfile.org) recommendation.  We've been using it 
for about 6 months.  Very handy.

I'm not sure how to parse:

> We cannot use ssh as root remote connectivity as well.

but with 1000's of servers, I really don't see any alternative to ssh, 
with key authentication.  You don't really propose to type passwords at 
1000's of machines, do you?

As far as fabric goes, it's not perfect, but it's pretty good and if you 
try to roll your own alternative, you will likely 1) waste a lot of time 
and money and 2) end up with an inferior solution.



More information about the Python-list mailing list