Projects / classh


classh is yet another wrapper around ssh for running commands on a number of hosts concurrently. It is similar to xCAT, pssh, Cluster ssh, and a gaggle of other utilities. The only pre-requisite for classh is Python 2.4 or later, and no formal installation is required; a copy of the file is sufficient to run commands. The SSHJobMan class from classh can be used to create custom job management scripts. This class lets you either wait until all output has returned from a batch job or process the results as they become available by incrementally polling the running job. The output, error messages, exit code, and start and completion times of each job are stored in the results. It's been tested on jobs of over 25,000 hosts and handles over 10,000 hosts per hour across a WAN and without noticeable impact on the administrator's host.

Operating Systems

Recent releases

  •  14 Dec 2009 10:16

    Release Notes: The --sshargs and --sshpath options were added. The default was changed to search the PATH for ssh.

    •  10 Dec 2009 04:37

      Release Notes: --mergemsgs support was added. It coalesces identical outputs and/or error messages. Support for --progress was added for showing successes, remote errors, and local/SSH errors as they occur in a progress bar. Snooze default handling was fixed in the .wait() method (API).

      •  09 Dec 2009 03:57

        Release Notes: Incremental results or a progress bar are supported. Custom job management scripts can be written in as little as 3 lines. Hostname arguments support magic files and range expansions. The timeouts and maximum concurrent jobs are configurable.


        Project Spotlight


        A Fluent OpenStack client API for Java.


        Project Spotlight

        TurnKey TWiki Appliance

        A TWiki appliance that is easy to use and lightweight.