views:

85

answers:

2

I have several shell scripts, perl and java based processes running on a bunch of unix machines.

I am looking for a dashboard like utility that can allow me to start, stop and monitor all these processes. right now, I have to do many of these jobs manually (e.g. each script sends me an email notification in the end indicating that it has ended successfully and I then go and start another script somewhere else).

Before I write an application on my own, I want to know if there are any ready made solutions available for this requirement.

A: 

buildbot can automate those sorts of build tasks, we have it doing continuous and overnight builds across Linux, Mac, Solaris, HP-UX, FreeBSD and AIX.

Douglas Leeder
+1  A: 

If you just want to connect a few scripts to a couple of buttons, tcl/tk is probably the fastest path ... if you can stomach the syntax.

If you like a clean syntax and don't mind to compile something from source, try Python with PyQt4 (there is a binary download for Windows).

If you want to be able to work remotely, you can build a small web application with web.py. Use the Python module subprocess to start your scripts. Don't forget to put some firewall or something which asks for a password between it and the Internet or you might come to work one morning to find that someone was "creative" with your production lines. VPN or SSL are your friends.

To invoke scripts remotely, I suggest ssh. Generate a key-pair, distribute the public key to all the machines you need, use ssh-agent to load the private key into memory. This allows you to start a shell process on some other machine without logging in. ssh will also return the exit code of the shell process, so you can check for errors automatically (instead of reading a mail).

If you just need a (relatively) simple dialog in a master shell script, try Xdialog (some examples). This would allow you to create a wizard like process tool (where you can click "next" after each step of the process has been completed).

Aaron Digulla