Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CS(1)			     General Commands Manual			   CS(1)

NAME
     cs -- concurrent ssh client

SYNOPSIS
     cs [-emqrstuVv1] [-c file] [-cmd] [-cname] [-d file] [-dd] [-du path]
	[-f script.sh] [-h hosts_file] [-hba] [-i identity_file] [-io] [-ip]
	[-l login_name] [-lip] [-mx] [-nc] [-nmap] [-ns] [-o output_file]
	[-P port] [-p path] [-ping] [-soa] [-to timeout] [-top] [-tr] [-tri]
	[-uname] [-vm] [command] [[user@]host] ...

DESCRIPTION
     cs is a program for concurrently executing local or remote commands on mul-
     tiple  hosts.   It  is using OpenSSH for running remote commands.	Its main
     purpose is to help automate and manage large network of hosts.

     The options are as follows:

     -c file
	     Copy file to the remote machine.

     -cmd    Run an arbitrary local command concurrently on multiple hosts.

     -cname  Run a local DNS query of type CNAME.

     -d file
	     Download file from the remote machine.  It will be saved in  a  di-
	     rectory  named  after  the  remote host only when you download from
	     multiple servers.

     -dd     Prints basic hardware information for a specific host (sudo(8)  and
	     dmidecode(8) required).

     -du path
	     Prints  the  list of largest files in a specific directory (sudo(8)
	     required, units in M).

     -e      Prints hosts with errors only.

     -f script.sh
	     Run a local shell script on the remote host.

     -h hosts_file
	     Read hostnames from the given hosts_file.	Lines in the  hosts_file
	     can  include commented lines beginning with a `#' and only one host
	     per line is allowed.

     -hba    Lists installed HBAs and their WWPNs (Linux only).

     -i identity_file
	     Selects a file from which the identity (private key) for public key
	     authentication is read.  The default is ~/.ssh/id_rsa.

     -io     Run remote iostat(1) on a specific host.

     -ip     Lists network interfaces.

     -l login_name
	     Specifies the user to log in as on the remote machine.   This  also
	     may be specified on a per-host basis on the command line.

     -lip    Scans storage interconnects for new luns (Linux only).

     -m      Lists mounted filesystems on a speficic host.

     -mx     Run a local DNS query of type MX.

     -nc     Tests a specific port with nc(1).	Default is 22/tcp.

     -nmap   Scans host with nmap(1).

     -ns     Run a local DNS query of type NS.

     -o output_file
	     Saves standard output and standard error to a file.

     -P port
	     Port to connect to on the remote host.

     -p path
	     Specifies	remote or local path for files in a remote copy or down-
	     load mode.

     -ping   Sends ICMP ECHO_REQUEST to network hosts.

     -q      Quiet mode.  Supresses verbose  standard  output  from  remote  ma-
	     chines.  This mode reports success or failure only.

     -r      Recursively copy entire directories.  It follows symbolic links en-
	     countered in the tree traversal.

     -s      Sort output.

     -soa    Run a local DNS query of type SOA.

     -t      Force pseudo-tty allocation.

     -to timeout
	     Specifies	the timeout (in seconds) used when connecting to the SSH
	     server.  The default value is 4 seconds.

     -top    Run remote top(1) in batch mode on a specific host.

     -tr     Run local traceroute(8).

     -tri    Run local traceroute(8) using ICMP (local sudo(8) required).

     -uname  Prints remote system information including OS version.

     -u      Run remote uptime(1) on a specific host.

     -V      Displays the version number and exit.

     -v      Verbose mode.  Causes cs to print debugging  messages  from  ssh(1)
	     about  its  progress.  This is helpful in debugging connection, au-
	     thentication, and configuration problems.	Multiple -v options  in-
	     crease the verbosity.  The maximum is 3.

     -vm     Run remote vmstat(8) on a specific host.

     -1      One line mode, useful for sorting output later.

AUTHENTICATION
     The  default method for authentication is a public key authentication which
     serves its purpose when dealing with multiple hosts.   You  can  read  more
     about public key authentication in ssh(1).

EXIT STATUS
     The cs utility exits 0 on success, and >0 if an error occurs.

EXAMPLES
     Run a series of commands on hosts foo and bar:

	   $ cs 'uptime; uname -a' foo bar

     Run a command on multiple hosts specified in a hosts_file:

	   $ cs -h hosts_file uptime

     Run a local shell script on multiple hosts:

	   $ cs -f script.sh foo{1..100}

     Run a local shell script with sudo(8) on multiple hosts:

	   $ cs -t -f script.sh foo{1..100}

     Copy file to multiple hosts using a specific remote path:

	   $ cs -c file -h hosts_file -p /foo/bar

     Download file from host:~ foo to a current working directory:

	   $ cs -d file foo

     Download  recursively files from /foo/bar from multiple hosts to a specific
     local path /tmp with subdirectories named after remote hosts:

	   $ cs -r -d '/foo/bar/*' -h hosts_file -p /tmp

     Run a command on multiple hosts and sort the output:

	   $ cs -1 -h hosts_file 'free -m | grep Swap' | sort -rnk4 | head

     Run local ping(1) on multiple hosts:

	   $ cs -ping foo{1..100}

     Show name and size of all files matching the glob pattern:

	   $ cs -du '/var/log/mes*' foo{1..100}

SEE ALSO
     scp(1), ssh(1), ssh_config(5), sudo(8)

AUTHORS
     Andy Kosela <akosela@andykosela.com>

FreeBSD ports 15.quarterly	  July 19, 2017 			   CS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=cs&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help