bpcp¶
Name¶
bpcp – Copies files and/or directories between cluster machines.
Synopsis¶
bpcp [-h ] [-v ] [-a] [-p ] [-r ] [host1: {file1 }] [host2: {file2 }]
Description¶
The bpcp utility is part of the BProc
package and is installed by
default. It is similar to the Linux rcp command. bpcp will copy
files and/or directories between machines. Each file or directory is
either a remote file name of the form rhost:path
or a local file
name. You must have read permission on the source and write permission
on the destination. bpcp also handles node-to-node copies, where
neither the source nor destination files are on the current node.
Options¶
The following options are available to the bpcp program.
- -h
Print the bpcp usage message and exit. If
-h
is the first option, all other options will be ignored. If-h
is not the first option, the other options will be parsed up to the-h
option, but no action will be taken.- -v
Print the bpcp version number and exit. If
-v
is the first option, all other options will be ignored. If-v
is not the first option, the other options will be parsed up to the-v
option, but no action will be taken.- -a
Copy the local file(s) to every up node. This option does not allow for a host1 option specifying a source node, nor for a host2 option specifying a target node.
- -p
Preserve the attributes of the source files, ignoring the umask. By default, bpcp will modify the time, permission bits, user and group information when the file is copied. This parameter will cause time and permission bits to be unchanged, but the user and group will change to reflect the new user.
- -r
Descend source directory tree recursively and copy files and tree to destination. In this case, the destination must be a directory.
- [host1:]file1
The name of the file to be copied (and optionally the name of the host it resides on if other than the local host). file1 can be the directory name when used with the
-r
option.- [host2:]file2
The name of the file and/or host where the specified file should be copied. file2 can be a directory name.
Examples¶
Copy file1 from the master node to compute node 1 as file2 in
/home/user
. Like cp, the directory will not be created if it
does not exist.
[user@cluster user] $ bpcp /home/user/file1 1:/home/user/file2
Copy file1 from the master node to every up compute node as file2 in
/home/user
. Like cp, the directory will not be created if it
does not exist.
[user@cluster user] $ bpcp -a /home/user/file1 /home/user/file2
Copy all files and sub-directories from compute node 2 in /home/user
to compute node 1 in /home/user
. The directory tree will be created
if it does not exist.
[user@cluster user] $ bpcp -r 2:/home/user/ 1:/home/user/
Using node 1 as an intermediary, copy file1.txt
on node 0 to
file1.txt
on node 2.
[user@cluster user] $ bpsh 1 bpcp 0:/tmp/file1.txt 2:/tmp/
Copy /tmp/file.txt
from the master node to the /tmp
directory on
every node in the cluster that is “up”.
[user@cluster user] $ bpsh -a bpcp master:/tmp/file1.txt /tmp
Note: bpcp will give an “rfork: Invalid argument” message when the node is unreachable.