SourceForge.net Logo
TOC:

    1 Introduction
        1.1 What is a farm?
        1.2 What is sssh/sscp?
    2 Installation
        2.1 From Tarball
        2.2 Using RPM
    3 Usage
        3.1 sssh_create - create sssh/sscp farms
        3.2 sssh - execute commands on every farmhost
        3.3 sscp - send/retrieve files to/from every farmhost
    4 Other stuff
        4.1 Project page
	4.2 Todo
    	4.3 Screenshots
-----------------------------------------------------------------------------


1 Introduction
===============

    1.1 What is a farm?
    -------------------
    A farm is a logical group of hostnames/ip-addresses stored in a simple
    textfile. Every farm has its own file stored in the farm directory defined
    in sssh.cfg. These files are read by the sssh/sscp scripts.


    1.2 What is sssh/sscp?
    ----------------------
    sssh is a script that executes a command on every host in a farm via ssh.
    sscp pushes/gets a specified file to/from every host in a farm using scp.





2 Installation
===============
    2.1 Tarball
    ------------
        tar zxvf sssh-version.tar.gz
        mkdir -p /etc/sssh/farms
        cp sssh.cfg to /etc/sssh
        cp sssh ssh_create scp sssh_funcs /usr/local/bin

    2.2 RPM
    ---------
        rpm -ivh sssh-VERSION-noarch.rpm


3 Usage
========

    The usage of sssh is pretty easy.
        - create a farm (and pherhaps trusts)
        - use sssh / sscp

    General options (eg -L) can be passed to every script.



    3.1 sssh_create - create sssh/sscp farms
    -----------------------------------------

    sssh_create creates farms for sssh/sscp usage.

    Options:
     -h             Show this help message
     -f farm        farm name
     -H             IP/Hostnamelist seperated by commas
     -L [-f farm]   List available farms
                    List hosts in farm if -f farm is given
     -t         Create ssh trusts for nodes in farm
     -l         ssh trusts for user other than "me"

    sssh/sscp will show a password prompt for every host without ssh trust.



    3.2 sssh - execute commands on every farmhost
    ----------------------------------------------

    sssh executes a command (-c) on every host in a specified farm (-f).


    Options:
     -f farm1[,..,farmN] specifies farm(s) on which  will be executed
     -H host1[,..,hostN] execute  on these hosts. -H is a list of
                         IPs/Hostnames seperated by commas. This is very useful
                         if there was an error on some hosts of a previous farm
                         command
     -c             is the command to be executed on the hosts
                        of the specified farm(s). Clever quoting might be needed
                        in some cases.
     -A                 execute  on every hosts in every farm *warning*
                        A question to really execute is asked unless -q is given
     -h                 Show help message
     -l user            Log in using this user name
     -L [-f farm]       List available farms
                        List hosts in farm if -f farm is given
     -q            Quiet - don't ask if -A is given
     -t            Create ssh trusts for nodes in farm/hostlist. sssh asks for
               a password only once per host and adds the local public key to
               the remote authorized_keys and fixes the permissions.



    3.3 sscp - send/retrieve files to/from every farmhost
    ------------------------------------------------------

    sscp can transfer files to (-p = push) or from (-g get) every host in a
    farm. The hostname/IP listed in the farm is appended to the local filename
    when files are retrieved from farm members.

    Usage: ./sscp -f farm [-l user] -p localfile remotefile
    Usage: ./sscp -f farm [-l user] -g remotefile localfile
           ./sscp -L [-f farm]

    Options:
     -A                            Copy from/to every host in every farm *warning*
                           A warning message is displayed unless -q is given
     -f farm1[,..,farmN]   specifies farm(s) from/to which files are got/pushed
                           -f is required unless -H is given.
     -H host1[,..,hostN]   IP/Hostnamelist seperated by commas. -H is a list of
                           IPs/Hostnames seperated by commas.
     -l user               Copy files using this remote user name
     -L [-f farm[,farm,..] List available farms
                           List hosts in farm if -f farm is given
     -g                Get file from farm nodes
     -p                Push files to farm nodes
     -h                Show help message
     -q                don't ask if -A is given




4 Other stuff
==============

    4.1 Project Page
    -----------------
    Visit http://sssh.sourceforge.net or http://www.sf.net/projects/sssh for more information on sssh/sscp.

    4.2 Todo
    ---------
     - exclude hosts
     - farm sections (subgroups of farms)

    4.3 Screenshots
    ---------
sssh in action
sscp file pushing
sscp gathering files