1pdsh(1)                     General Commands Manual                    pdsh(1)
2
3
4

NAME

6       pdcp - copy files to groups of hosts in parallel
7       rpdcp - (reverse pdcp) copy files from a group of hosts in parallel
8
9

SYNOPSIS

11       pdcp [options]... src [src2...] dest
12       rpdcp [options]... src [src2...] dir
13
14

DESCRIPTION

16       pdcp  is  a variant of the rcp(1) command.  Unlike rcp(1), which copies
17       files to a single remote host, pdcp can copy files to  multiple  remote
18       hosts  in parallel.  However, pdcp does not recognize files in the for‐
19       mat ``rname@rhost:path,'' therefore all source files  must  be  on  the
20       local  host machine.  Destination nodes must be listed on the pdcp com‐
21       mand line using a suitable target nodelist option (See the OPTIONS sec‐
22       tion below).  Each destination node listed must have pdcp installed for
23       the copy to succeed.
24
25       When pdcp receives SIGINT (ctrl-C), it  lists  the  status  of  current
26       threads.   A  second  SIGINT  within one second terminates the program.
27       Pending threads may be canceled by issuing ctrl-Z within one second  of
28       ctrl-C.  Pending threads are those that have not yet been initiated, or
29       are still in the process of connecting to the remote host.
30
31       Like pdsh(1), the functionality of pdcp may be supplemented by  dynami‐
32       cally  loadable modules. In pdcp, the modules may provide a new connect
33       protocol (replacing the standard rsh(1)  protocol),  filtering  options
34       (e.g.  excluding  hosts  that  are down), and/or host selection options
35       (e.g. -a selects all nodes from a local config file).  By default, pdcp
36       requires  at least one "rcmd" module to be loaded (to provide the chan‐
37       nel for remote copy).
38
39

REVERSE PDCP

41       rpdcp performs a reverse parallel copy.  Rather than copying  files  to
42       remote hosts, files are retrieved from remote hosts and stored locally.
43       All directories or files retrieved will be  stored  with  their  remote
44       hostname  appended  to  the  filename.   The destination file must be a
45       directory when this option is used.
46
47       In other respects, rpdcp is exactly like pdcp, and  further  statements
48       regarding pdcp in this manual also apply to rpdcp.
49
50

RCMD MODULES

52       The  method  by  which pdcp connects to remote hosts may be selected at
53       runtime using the -R option (See OPTIONS below).  This functionality is
54       ultimately  implemented  via  dynamically  loadable modules, and so the
55       list of available options may be different from installation to instal‐
56       lation.  A  list  of  currently  available rcmd modules is printed when
57       using any of the -h, -V, or -L options. The default  rcmd  module  will
58       also be displayed with the -h and -V options.
59
60       A list of rcmd modules currently distributed with pdcp follows.
61
62       rsh     Uses  an internal, thread-safe implementation of BSD rcmd(3) to
63               run commands using the standard rsh(1) protocol.
64
65       ssh     Uses a variant of popen(3) to run multiple copies of the ssh(1)
66               command.
67
68       mrsh    This module uses the mrsh(1) protocol to execute jobs on remote
69               hosts.  The mrsh protocol uses a credential  based  authentica‐
70               tion,  forgoing  the  need to allocate reserved ports. In other
71               aspects, it acts just like rsh.
72
73       krb4    The krb4 module allows users to execute remote  commands  after
74               authenticating  with  kerberos. Of course, the remote rshd dae‐
75               mons must be kerberized.
76
77       xcpu    The xcpu module uses the xcpu service to  execute  remote  com‐
78               mands.
79
80

OPTIONS

82       The  list of available pdcp options is determined at runtime by supple‐
83       menting the list of standard pdcp options with any options provided  by
84       loaded  rcmd and misc modules.  In some cases, options provided by mod‐
85       ules may conflict with each other. In  these  cases,  the  modules  are
86       incompatible and the first module loaded wins.
87
88

Standard target nodelist options

90       -w host,host,...
91              Target  the  specified  list of hosts. Do not use with any other
92              node selection options (e.g. -a, -g if they are  available).  No
93              spaces are allowed in the comma-separated list.  A list consist‐
94              ing of a single `-' character causes the target hosts to be read
95              from  stdin,  one  per  line. The host list may contain hostlist
96              expressions of the form ``host[1-5,7]''.  For  more  information
97              about  the hostlist format, see the HOSTLIST EXPRESSIONS section
98              below.
99
100       -x host,host,...
101              Exclude the specified hosts. May  be  specified  in  conjunction
102              with  other  target  node  list  options such as -a and -g (when
103              available). Hostlists may also be specified  to  the  -x  option
104              (see HOSTLIST EXPRESSIONS secion below).
105
106

Standard pdcp options

108       -h     Output  usage  menu  and  quit. A list of available rcmd modules
109              will be printed at the end of the usage message.
110
111       -q     List option values and the  target  nodelist  and  exit  without
112              action.
113
114       -b     Disable ctrl-C status feature so that a single ctrl-C kills par‐
115              allel copy. (Batch Mode)
116
117       -r     Copy directories recursively.
118
119       -p     Preserve modification time and modes.
120
121       -e PATH
122              Explicitly specify path to remote pdcp binary instead  of  using
123              the locally executed path.
124
125       -l user
126              This  option  may be used to copy files as another user, subject
127              to authorization. For BSD rcmd, this means the invoking user and
128              system  must  be  listed  in  the  user´s .rhosts file (even for
129              root).
130
131       -t seconds
132              Set the connect timeout. Default is 10 seconds.
133
134       -f number
135              Set the maximum number of simultaneous remote copies to  number.
136              The default is 32.
137
138       -R name
139              Set  rcmd  module  to  name. This option may also be set via the
140              PDSH_RCMD_TYPE environment variable. A list  of  available  rcmd
141              modules may be obtained via either the -h or -L options.
142
143       -M name,...
144              When multiple misc modules provide the same options to pdsh, the
145              first module initialized "wins" and subsequent modules  are  not
146              loaded.   The -M option allows a list of modules to be specified
147              that will be  force-initialized  before  all  others,  in-effect
148              ensuring  that  they load without conflict (unless they conflict
149              with  eachother).  This  option  may  also  be   set   via   the
150              PDSH_MISC_MODULES environment variable.
151
152       -L     List info on all loaded pdcp modules and quit.
153
154       -d     Include more complete thread status when SIGINT is received, and
155              display connect and command time statistics on stderr when done.
156
157       -V     Output pdcp version information, along with  list  of  currently
158              loaded modules, and exit.
159
160
161

HOSTLIST EXPRESSIONS

163       As  noted  in  sections  above, pdcp accepts ranges of hostnames in the
164       general form: prefix[n-m,l-k,...], where n < m and l < k, etc.,  as  an
165       alternative  to  explicit lists of hosts.  This form should not be con‐
166       fused with  regular  expression  character  classes  (also  denoted  by
167       ``[]'').  For  example,  foo[19]  does  not represent foo1 or foo9, but
168       rather represents a degenerate range: foo19.
169
170       This range syntax is meant only as a convenience  on  clusters  with  a
171       prefixNN  naming  convention  and specification of ranges should not be
172       considered necessary -- the list foo1,foo9 could be specified as  such,
173       or by the range foo[1,9].
174
175       Some examples of range usage follow:
176
177
178       Copy /etc/hosts to foo01,foo02,...,foo05
179           pdcp -w foo[01-05] /etc/hosts /etc
180
181       Copy /etc/hosts to foo7,foo9,foo10
182           pdcp -w foo[7,9-10] /etc/hosts /etc
183
184       Copy /etc/hosts to foo0,foo4,foo5
185           pdcp -w foo[0-5] -x foo[1-3] /etc/hosts /etc
186
187
188       As  a  reminder to the reader, some shells will interpret brackets ('['
189       and ']') for pattern matching.  Depending on your shell, it may be nec‐
190       essary  to  enclose  ranged lists within quotes.  For example, in tcsh,
191       the first example above should be executed as:
192
193           pdcp -w "foo[01-05]" /etc/hosts /etc
194
195

ORIGIN

197       Pdsh/pdcp was originally a rewrite of IBM dsh(1) by Jim  Garlick  <gar‐
198       lick@llnl.gov>  on  LLNL's  ASCI Blue-Pacific IBM SP system.  It is now
199       also used on Linux clusters at LLNL.
200
201

LIMITATIONS

203       When using ssh for remote execution, stderr of ssh to be folded in with
204       that  of  the remote command.  When invoked by pdcp, it is not possible
205       for ssh to prompt for confirmation if a host key  changes,  prompt  for
206       passwords  if RSA keys are not configured properly, etc..  Finally, the
207       connect timeout is only adjustable with ssh  when  the  underlying  ssh
208       implementation  supports it, and pdsh has been built to use the correct
209       option.
210
211

SEE ALSO

213       pdsh(1)
214
215
216
217pdsh-2.22                          linux-gnu                           pdsh(1)
Impressum