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_path。 source_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 可执行文件。