ethscpall - Man Page
Name
ethscpall
Copies files or directories from the current system to multiple hosts in the fabric. When copying large directory trees, use the -t option to improve performance. This option tars and compresses the tree, transfers the resulting compressed tarball to each node, and untars it on each node.
Use this tool for copying data files, operating system files, or applications to all the hosts (or a subset of hosts) within the fabric.
NOTE:
- This tool can only copy from this system to a group of systems in the cluster. To copy from hosts in the cluster to this host, use ethuploadall.
- user@ syntax cannot be used when specifying filenames.
- Be aware that for the -r option, when copying a single source directory, if the destination directory does not exist it will be created and the source files placed directly in it.
- In other situations, the -r option will copy the source directory as a directory under the destination directory.
- The -R option will always copy the source directory as a directory under the destination directory.
- The -t option will always place the files found in source_dir directly in the destination directory.
Syntax
ethscpall [-pq] [-r|-R] [-f hostfile] [-h 'hosts'] [-u user] [-B interface]
source_file ... dest_file
ethscpall [-t] [-pq] [-Z tarcomp] [-f hostfile] [-h 'hosts'] [-u user] [-B interface]
[ source_dir [ dest_dir]]
Options
- --help
Produces full help text.
- -p
Performs copy in parallel on all hosts.
- -q
Does not list files being transferred.
- -r
Performs recursive copy of directories using scp.
- -R
Performs recursive copy of directories using rsync (only copy changed files).
- -t
Performs optimized recursive copy of directories using tar. dest_dir is optional. If dest_dir is not specified, it defaults to the current directory name. If both source_dir and dest_dir are omitted, they both default to the current directory name.
- -h hosts
Specifies the list of hosts to copy to.
- -f hostfile
Specifies the file with hosts in cluster. Default is /etc/eth-tools/hosts file.
- -u user
Specifies the user to perform copy to. Default is current user.
- -B interface
Specifies local network interface to use for scp or rsync.
- -Z tarcomp
Specifies a simple tar compression option to use, such as --xz or --lzip.
When the host list is large, better compression may be preferred.
When host list is small, faster compression may be preferred.
-Z ' ' will not use compression. Default is -z.
- source_file
Specifies the file or list of source files to copy.
- source_dir
Specifies the name of the source directory to copy. If omitted, current working directory is used.
- dest_file or dest_dir
Specifies the name of the destination file or directory. If copying multiple files, use a directory name instead as the destination. If the file or directory name is omitted, the source file or current directory name is used, respectively.
Example
# efficiently copy an entire directory tree
ethscpall -t -p /usr/src/eth/mpi_apps /usr/src/eth/mpi_apps
# copy a group of files
ethscpall a b c /root/tools/
# copy to an explitly specified set of hosts
ethscpall -h 'arwen elrond' a b c /root/tools
HOSTS='arwen elrond' ethscpall a b c /root/tools
# copy to an explitly specified set of hosts over local eth2 nic
echscpall -h 'arwen elrond' -B eth2 a b c /root/tools
Environment Variables
The following environment variables are also used by this command:
- HOSTS
List of hosts; used if -h option not supplied.
- HOSTS_FILE
File containing list of hosts; used in absence of -f and -h.
- FF_MAX_PARALLEL
When the -p option is used, maximum concurrent operations are performed.