gpscp
一次在多个主机之间复制文件。
概要
gpscp { -f hostfile_gpssh | -h hostname [-h hostname ...] }
[-J character] [-v] [[user@]hostname:]file_to_copy [...]
[[user@]hostname:]copy_to_path
gpscp -?
gpscp --version
描述
gpscp
工具允许用户使用SCP(安全复制)在一个命令中将一个或多个文件从指定的主机
复制到其他指定的主机。例如,用户可以同时将文件从Greenplum数据库的Master主机复制到所有的
Segment主机。
要指定SCP会话中涉及的主机,请使用-f
选项指定包含主机名列表的文件,或使用
-h
选项在命令行上命名单个主机名。至少需要一个主机名(-h
)
或主机文件(-f
)。-J
选项允许用户指定单个字符来替代
copy from
和copy to
的目标字符串中的hostname。
如果未指定-J
,则默认的替代字符是等号(=
)。例如,以下命令
将从本地主机将.bashrc
复制到hostfile_gpssh
中指定的
所有主机上的/home/gpadmin
:
gpscp -f hostfile_gpssh .bashrc =:/home/gpadmin
如果未在主机列表中指定用户名,或者在文件路径中指定了user@
,
则gpscp
将以当前登录用户的身份复制文件。要确定当前登录的用户,请执行
whoami
命令。默认情况下,登录后gpscp
将转到远程
主机上会话用户的$HOME
。为确保将文件复制到远程主机上的正确位置,
建议使用绝对路径。
在使用gpscp
之前,用户必须在涉及SCP会话的主机之间建立可信的主机设置。
用户可以使用工具gpssh-exkeys
更新已知的主机文件并在主机之间交换公钥
(如果尚未这样做的话)。
选项
-f hostfile_gpssh
指定包含将参与此SCP会话的主机列表的文件的名称。主机文件的语法是每行一台主机, 如下所示:
<hostname>
-h hostname
指定将参与此SCP会话的单个主机名。用户可以多次使用-h
选项来指定多个主机名。
-J character
-J
选项允许用户指定单个字符来替代copy
from
和copy to
目标字符串中的hostname。
如果未指定-J
,则默认的替代字符是等号(=
)。
-v(详细模式)
可选。除SCP命令输出外还报告其他消息。
file_to_copy
必需。要复制到其他主机(或文件位置)的文件的文件名(或绝对路径)。这可以是本地主机上的
文件或另一台被提及主机上的文件。
copy_to_path
必需。用户希望将文件复制到指定主机上的路径。如果没有使用绝对路径,文件将被复制到相对
于会话用户的$HOME
的位置。用户也可以使用等号'=
'
(或使用-J
选项)指定的另一个字符代替hostname。这将随后在所提供
的主机文件(-f
)或-h
选项中指定的每个主机名中进行替换。
-?(帮助) 显示在线帮助。 --version 显示此工具的版本。
示例
将名为installer.tar
的文件复制到文件hostfile_gpssh
中的所有主机上的/
路径下。
gpscp -f hostfile_gpssh installer.tar =:/
将名为myfuncs.so的文件复制到名为sdw1
和
sdw2
的主机上的指定位置:
gpscp -h sdw1 -h sdw2 myfuncs.so =:/usr/local/greenplum-db/lib
另见
[gpssh](gpssh.html#topic1)
、[gpssh-exkeys](gpssh-exkeys.html#topic1)