blob: aa5bd257e9ec8a1c8644ee3dd2057e8ab8e58b5c [file] [log] [blame]
COMMAND NAME: hawq scp
Copies files between multiple hosts at once.
*****************************************************
SYNOPSIS
*****************************************************
hawq scp { -f <hostfile_gpssh> | -h <hostname> [-h <hostname> ...] }
[-J <character>] [-v] [[<user>@]<hostname>:]<file_to_copy> [...]
[[<user>@]<hostname>:]<copy_to_path>
hawq scp -?
hawq scp --version
*****************************************************
DESCRIPTION
*****************************************************
The hawq scp utility allows you to copy one or more files from the
specified hosts to other specified hosts in one command using
SCP (secure copy). For example, you can copy a file from the
HAWQ master host to all of the segment hosts at
the same time.
To specify the hosts involved in the SCP session, use the -f
option to specify a file containing a list of host names, or use
the -h option to name single host names on the command-line. At
least one host name (-h) or a host file (-f) is required. The
-J option allows you to specify a single character to substitute
for the hostname in the copy from and to destination strings.
If -J is not specified, the default substitution character is
an equal sign (=). For example, the following command will
copy .bashrc from the local host to /home/gpadmin on all hosts
named in hostfile_gpssh:
hawq scp -f hostfile_gpssh .bashrc =:/home/gpadmin
If a user name is not specified in the host list or with
user@ in the file path, hawq scp will copy files as the currently
logged in user. To determine the currently logged in user, do a
whoami command. By default, hawq scp goes to $HOME of the session
user on the remote hosts after login. To ensure the file is
copied to the correct location on the remote hosts, it is
recommended that you use absolute paths.
Before using hawq scp, you must have a trusted host setup between
the hosts involved in the SCP session. You can use the utility
gpssh-exkeys to update the known host files and exchange public
keys between hosts if you have not done so already.
*****************************************************
OPTIONS
*****************************************************
-f <hostfile_gpssh>
Specifies the name of a file that contains a list of hosts
that will participate in this SCP session. The syntax of the
host file is one host per line as follows:
<hostname>
-h <hostname>
Specifies a single host name that will participate in this
SCP session. You can use the -h option multiple times to
specify multiple host names.
-J <character>
The -J option allows you to specify a single character to
substitute for the hostname in the copy from and to destination
strings. If -J is not specified, the default substitution
character is an equal sign (=).
-v (verbose mode)
Optional. Reports additional messages in addition to the
SCP command output.
--ignore-bad-hosts
Ignore copying files to the hosts on which test SSH attempt failed
and continue with the remaining. If test SSH failed, it indicates
that either the host is not working or there are issues while attempting
to SSH on these host. Once the skipped hosts are brought back, ensure
that the required files are synced to them.
<file_to_copy>
Required. The file name (or absolute path) of a file that
you want to copy to other hosts (or file locations). This
can be either a file on the local host or on another named
host.
<copy_to_path>
Required. The path where you want the file(s) to be copied
on the named hosts. If an absolute path is not used, the
file will be copied relative to $HOME of the session user. You
can also use the equal sign '=' (or another character that you
specify with the -J option) in place of a hostname. This will
then substitute in each host name as specified in the supplied
host file (-f) or with the -h option.
-? (help)
Displays the online help.
--version
Displays the version of this utility.
*****************************************************
EXAMPLES
*****************************************************
Copy the file named installer.tar to / on all the hosts in the
file host_file.
hawq scp -f host_file installer.tar =:/
Copy the file named myfuncs.so to the specified location on
the hosts named sdw1 and sdw2:
hawq scp -h sdw1 -h sdw2 myfuncs.so \
=:/usr/local/greenplum-db/lib
*****************************************************
SEE ALSO
*****************************************************
hawq ssh-exkeys, hawq ssh