crcp#

命令#

crcp -使用 AIP 远程文件复制

概要#

crcp [-a] [-t] [-m | -v] 源路径 目标路径

crcp [-s] [-t] [-o] [-i 秒] 源路径 目标路径

crcp [-h | -V]

描述 —

使用 AIP 远程文件复制。

crcp 是一个支持 AIP 的远程文件复制程序,可在 AIP 集群中的主机之间传输单个文件或目录树。 crcp 使用 AIP 主机上的 CBEXE 服务传输文件。如果主机上未安装 AIP 或 CBEXE 未运行,则 crcp 将使用 rcp 复制文件。

要使用 crcp,您必须对要复制的文件具有读取权限。

源文件和目标文件都必须属于发出该命令的用户。

crcp 使用 rcp 将源文件复制到另一个用户拥有的目标文件。详情请参阅下面的限制。

选项#

-a

source_path 附加到 target_path

-v

详细模式。显示源绝对路径和目标绝对路径。

-m

模拟模式。显示源绝对路径和目标绝对路径,但不复制文件。

-t

树模式。将所有文件和目录树从 source_path 复制到target_pathsource_path 必须是本地目录。

-s

流式传输模式。持续将 source_path 同步到 target_path,直至按下 CTRL-C 键。

-o

在流式传输模式下覆盖 target_path

-i 秒数

在流式传输模式下将 source_path 同步到 target_path 的间隔。 默认值为 2 秒。

source_path target_path

指定要复制的本地或远程主机上的现有文件,以及要将源文件复制到的目标文件。

文件格式如下:

[[host_name]:][path/][file_name]

host_name

文件所在的远程主机的名称。如果未指定 host_name,则使用发出命令的本地主机。

path

绝对路径名或相对于用户登录目录的路径名。本地或远程主机均不支持 Shell 文件名扩展。

如果 source_path 中未指定 file_name,则会复制除路径本身之外的整个子目录和文件树。

使用“/”将文件从 Linux 主机传输到 Linux 主机。例如:

crcp file1 hostD:/home/usr2/test/file2
file_name

源文件的名称。不支持文件名通配符。

-h

将命令用法打印到标准错误输出并退出。

-V

将 AIP 发行版本打印到标准错误输出并退出。

示例#

% crcp myfile @hostC:/home/usr/dir1/otherfile

将文件 myfile 从本地主机复制到 hostC 上的文件 otherfile。

% crcp user1@hostA:/home/myfile user1@hostB:otherfile

将文件 myfile 从 hostA 复制到 hostB 上的文件 otherfile。

% crcp -a user1@hostD:/home/myfile /dir1/otherfile

将 hostD 上的文件 myfile 附加到本地主机上的文件 otherfile。

% crcp /tmp/myfile user1@hostF:~/otherfile

将文件 myfile 从本地主机复制到 hostF 上 user1 主目录中的文件 otherfile。

% crcp -s /tmp/myfile hostB:/home/usr/myfile

以流式传输模式将文件 myfile 从本地主机复制到 hostB 上的文件 myfile。该命令直到输入 CTRL-C 才会停止。

% crcp -t /tmp/mydir hostB:/home/usr/mydir

将文件和目录树 mydir 从本地主机复制到 hostB 上的目录 mydir。

% crcp -t -s /tmp/mydir hostB:/home/usr/mydir

以流式传输模式将文件和目录树 mydir 从本地主机复制到 hostB 上的目录 mydir。该命令直到输入 CTRL-C 才会停止。

另请参见#

rsh(1)、rcp(1)

诊断#

crcp 尝试使用 CBEXE 将 source_path 复制到 target_path。如果 CBEXE 关闭或无法复制 source_path,crcp 将使用 rsh(如果指定了 -a 选项)或 rcp(如果未指定 -a 选项)。

限制#

以下情况下不支持使用 crcp 进行文件传输:

  • 如果使用了 AIP 帐户映射;crcp 在其他用户帐户下运行时会失败

  • 在 AIP 客户端主机上。AIP 客户端主机不运行 CBEXE,因此 crcp 无法 联系提交主机上的 CBEXE

  • 第三方复制。当源文件和目标文件都不在本地主机上时,crcp 不支持第三方复制。在这种情况下,将使用 rcp 或 rsh。如果 target_path 存在,crcp 将保留这些模式;否则,crcp 将使用经过源主机的 umask(参见 umask(2))修改的 source_path 模式。

您可以执行以下操作:

如果 crcp 无法联系提交主机上的 CBEXE,它将尝试使用 rcp 复制文件。您必须设置 /etc/hosts.equiv 或 HOME/.rhosts 文件才能使用 rcp。有关使用 rcp 命令的更多信息,请参阅 rcp(1) 和 rsh(1) 手册页。

您可以将 crcp 替换为您自己的文件传输机制(如scp),只要它支持相同的语法即可。 这样做可能是为了利用更快的互连网络,或者克服现有 crcp 的限制。 CBJM 会在 cb.yaml 文件中指定的 CB_BINDIR (/opt/skyformai/bin)目录中查找 crcp 可执行文件。