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
       multiple	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
	       directory 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
	       download	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
	       encountered 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 con-
	       nection,	authentication,	and configuration problems.   Multiple
	       -v options increase 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 spe-
       cific 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 14.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+14.3.quarterly>

home | help