; semicolon starts a comment in INI files ; If your data value contains a ";" make sure there is no space before it ; There is a section for each [machinename]. In that section, you ; should define ; run=some command to run scripts ; It is a list of argv values to run the command. In each item of ; the list, you can use %(n)s to replace with various values: ; %(script)s - ; %(host)s - ; %(table)s - ; %(cmd)s - ; %(foo)s - if you include a foo= line ; ; definitions common to various operating system environments [all] hostname=no_such_machine maxproc=2 ; local really applies the same to all the machines, but this is a ; convenient place to stash it for now. local=[ 'sh', '-c', '%(script)s' ] [linux:csh] ; for CSH ; ; -q = quiet ; -x = do not forward X windows; prevents errors locking .Xauthority when lots of ssh come in at the same time run=[ 'ssh', '-q', '-x', '%(hostname)s', ' cd %(workdir)s; setenv sm_node %(node)s; setenv sm_run %(runname)s; source bin/.steuermann.%(hostname)s; %(script)s; show_status $status ' ] like=all [mac:csh] like=linux:csh [solaris:csh] like=linux:csh [windows:xp] run=[ 'python', '-m', 'steuermann.rexec', '-d', '%(workdir)s', '-h', '%(hostname)s', '-p', 'pass', 'set w_node=%(w_node)s & set sm_run=%(runname)s & call bin\\steuermann_%(hostname)s & call %(script)s & call show_status %%errorlevel%%' ] like=all ; machines defined named after each OS [rhe4-32] like=herbert [rhe4-64] like=thor [rhe5-64] like=arzach [leopard] like=bond [snow-leopard] like=cadeau ; actual machines [jwcalibdev] hostname=jwcalibdev like=linux:csh workdir=/data1/iraf/steuermann maxproc=32 [herbert] hostname=herbert like=linux:csh workdir=/herbert/data1/iraf/steuermann maxproc=4 [thor] hostname=thor like=linux:csh workdir=/thor/data2/iraf/steuermann maxproc=4 [arzach] hostname=arzach like=linux:csh workdir=/arzach/data1/iraf/steuermann maxproc=4 [etcbrady] hostname=etcbrady like=linux:csh workdir=/home/iraf/sm_work ; because each thing wants all the processors maxproc=1 [etccartier] hostname=etccartier like=linux:csh workdir=/home/iraf/sm_work ; because each thing wants all the processors maxproc=1 [localhost] like=ssb [ssb] hostname=ssbwebv1 like=linux:csh workdir=/ssbwebv1/data1/iraf/work maxproc=2 [bond] hostname=bond like=mac:csh workdir=/Users/iraf/work/steuermann maxproc=8 [cadeau] hostname=cadeau like=mac:csh workdir=/Users/iraf/work/steuermann maxproc=8 [banana] hostname=banana like=mac:csh workdir=/Users/iraf/work/steuermann maxproc=4 [aten] hostname=aten like=solaris:csh maxproc=1 workdir=/aten/data2/iraf/steuermann [grail] hostname=grail like=solaris:csh maxproc=1 workdir=/data/grail1/iraf/steuermann [vxp-dukat] hostname=vxp-dukat like=windows:xp maxproc=1 workdir=c:/work ; There is a section [ALL] that is used with every machine name [ALL]