Ticket #104: exec.py

File exec.py, 849 bytes (added by mitchb, 15 years ago)

Pete Kruskall's exec.py script

Line 
1## Exec script for all live scripts servers
2
3
4## First, get all live servers
5
6import os
7import sys
8
9
10put, get = os.popen4('finger @scripts.mit.edu')
11
12inside_live_servers = False
13
14live_servers = []
15
16for line in get.readlines():
17  if line.startswith('FWM  2'):
18    inside_live_servers = True
19  elif line.startswith('FWM  3'):
20    inside_live_servers = False
21  elif inside_live_servers:
22    server = line[5:].strip()
23    server = server[:server.index(' ')-2]
24    live_servers.append(server)
25   
26   
27   
28username = ''
29
30if '-u' in sys.argv:
31  i = sys.argv.index('-u')
32  username = sys.argv[i+1]
33  sys.argv.remove(username)
34  sys.argv.remove('-u')
35 
36   
37for server in live_servers:
38  print server
39  if username != '':
40    server = username + '@' + server
41  os.system('ssh ' + server + ' ' + ' '.join(sys.argv[1:]))
42 
43 
44print ' '.join(sys.argv[1:])