1xrdcopy(1) General Commands Manual xrdcopy(1)
2
3
4
6 xrdcp - copy files
7
9 xrdcp [options] source destination
10
11 options: [--cksum args] [--debug lvl]
12 [--coerce] [--force] [--help] [--license]
13 [--nopbar] [--posc] [--proxy ipaddr:port]
14 [--recursive] [--retry time] [--server]
15 [--silent] [--sources num] [--streams num]
16 [--tpc [delegate] first|only] [--verbose]
17 [--version] [--xrate rate] [--zip file]
18 [--dynamic-src] [--infiles fn] [--path]
19 [--parallel n] [--allow-http]
20
21 legacy options: [-adler] [-DSparm string] [-DIparm number]
22 [-md5] [-np] [-ODcgi] [-OScgi] [-x]
23
24
26 The xrdcp utility copies one or more files from one location to
27 another. The data source and destination may be a local or remote file
28 or directory. Additionally, the data source may also reside on multi‐
29 ple servers.
30
32 -C | --cksum type[:value|print|source]
33 obtains the checksum of type (i.e. adler32, crc32, or md5) from
34 the source, computes the checksum at the destination, and verifies
35 that they are the same. If a value is specified, it is used as the
36 source checksum. When print is specified, the checksum at the des‐
37 tination is printed but is not verified.
38
39 -d | --debug lvl
40 debug level: 1 (low), 2 (medium), 3 (high)
41
42 -F | --coerce
43 ignores locking semantics on the destination file. This option may
44 lead to file corruption if not properly used.
45
46 -f | --force
47 re-creates a file if it is already present.
48
49 -h | --help
50 displays usage information.
51
52 -H | --license
53 displays license terms and conditions.
54
55 -N | --nopbar
56 does not display the progress bar.
57
58 -P | --posc
59 requests POSC (persist-on-successful-close) processing to create a
60 new file. Files are automatically deleted should they not be suc‐
61 cessfully closed.
62
63 -D | --proxy proxyaddr:proxyport
64 [NOT YET IMPLEMENTED]
65
66 use proxyaddr:proxyport as a SOCKS4 proxy. Only numerical
67 addresses are supported.
68
69 -r | --recursive
70 recursively copy all files starting at the given source directory.
71
72 --server
73 runs as if in a server environment. Used only for server-side
74 third party copy support.
75
76 -s | --silent
77 neither produces summary information nor displays the progress
78 bar.
79
80 -y | --sources num
81 uses up to num sources to copy the file.
82
83 -S | --streams num
84 use num parallel data streams to do the transfer (the main stream
85 is in this case not used to carry out the transfer). The maximum
86 value is 15. The default is 0 (i.e., use only the control stream).
87
88 --tpc [delegate] first|only
89 copies the file from remote server to remote server using third-
90 party-copy protocol (i.e., data flows from server to server). The
91 source and destination servers must support third party copies.
92 Additional security restrictions may apply and may cause the copy
93 to fail if they cannot be satisfied. Argument 'first' tries tpc
94 and if it fails, does a normal copy; while 'only' fails the copy
95 unless tpc succeeds. When 'delegate' is specified, the copy dele‐
96 gates the command issuer's credentials to the target server which
97 uses those credentials to authenticate with the source server.
98 Delegation is ignored if the target server is not configured to
99 use delegated credentials. Currently, only gsi credentials can be
100 delegated.
101
102 -v | --verbose
103 displays summary output.
104
105 -V | -version
106 displays version information and immediately exits.
107
108 -z | --zip file
109 copy given file from a ZIP archive (same as xrdcl.unzip opaque
110 info).
111
112 -X | --xrate rate
113 [NOT YET IMPLEMENTED]
114
115 limits the copy speed to the specified rate. The rate may be qual‐
116 ified with the letter k, m, or g to indicate kilo, mega, or giga
117 bytes, respectively. The option only applies when the source or
118 destination is local.
119
120 -Z | --dynamic-src
121 file size may change during the copy
122
123 -I | --infiles fn
124 specifies the file that contains a list of input files
125
126 -p | --path
127 automatically create remote destination path
128
129 --parallel n
130 number of copy jobs to be run simultaneously
131
132 --allow-http
133 allow HTTP as source or destination protocol. Requires the Xrd‐
134 ClHttp client plugin
135
136
138 Legacy options are provided for backward compatability. These are now
139 deprecated and should be avoided.
140 -adler
141 equivalent to "--cksum adler32:source".
142
143 -DIpname numberval
144 set the internal parameter pname with the numeric value numberval.
145
146 -DSpname stringval
147 set the internal parameter pname with the string value stringval.
148
149 -md5
150 equivalent to "--cksum md5:source".
151
152 -np
153 equivalent to "--nopbar".
154
155 -ODcgi
156 add cgi information cgi to any destination xrootd URL. You should
157 specify the opaque information directly on the destination URL.
158
159 -OScgi
160 add cgi information cgi to any source xrootd URL.
161
162 -x
163 equivalent to "--sources 12".
164
165
167 source
168 a dash (i.e. -) indicating stanard in, a local file, a local
169 directory name suffixed by /, or an xrootd URL in the form of
170 xroot://[user@]host[:port]/absolutepath
171 The absolutepath can be a directory.
172
173 destination
174 a dash (i.e. -) indicating stanard out, a local file, a local
175 directory name suffixed by /, or an xrootd URL in the form
176 xroot://[user@]host[:port]/absolutepath
177 The absolutepath can be a directory.
178
179
180
182 The following environment variables are supported. They apply to xrdfs
183 and any other application using the libXrdCl library, unless specified
184 otherwise. The text in the brackets is a name of the corresponding
185 xrdcp commandline parameter.
186
187 XRD_LOGLEVEL
188 Detemines the amout of diagnostics that should be printed. Valid
189 values are: Dump, Debug, Info, Warning, and Error.
190
191 XRD_LOGFILE
192 If set, the diagnostics will be printed to the specified file
193 instead of stderr.
194
195 XRD_LOGMASK
196 Determines which diagnostics topics should be printed at all lev‐
197 els. It's a "|" separated list of topics. The first element may be
198 "All" in which case all the topics are enabled and the subsequent
199 elements may turn them off, or "None" in which case all the topics
200 are disabled and the subsequent flags may turn them on. If the
201 topic name is prefixed with "^", then it means that the topic
202 should be disabled. If the topic name is not prefixed, then it
203 means that the topic should be enabled.
204
205 The log mask may as well be handled for each diagnostic level sep‐
206 arately by setting one or more of the following variables:
207 XRD_LOGMASK_ERROR, XRD_LOGMASK_WARNING, XRD_LOGMASK_INFO, XRD_LOG‐
208 MASK_DEBUG, and XRD_LOGMASK_DUMP. The default for each level is
209 "All", except for the Dump level, where the default is
210 "All|^PollerMsg". This means that, at the Dump level, all the top‐
211 ics but "PollerMsg" are enabled.
212
213 Available topics: AppMsg, UtilityMsg, FileMsg, PollerMsg, PostMas‐
214 terMsg, XRootDTransportMsg, TaskMgrMsg, XRootDMsg, FileSystemMsg,
215 AsyncSockMsg
216
217 XRD_PARALLELEVTLOOP
218 The number of event loops.
219
220 XRD_READRECOVERY
221 Determines if read recovery should be enabled or disabled (enabled
222 by default).
223
224 XRD_WRITERECOVERY
225 Determines if write recovery should be enabled or disabled
226 (enabled by default).
227
228 XRD_OPENRECOVERY
229 Determines if open recovery should be enabled or disabled for
230 mutable (truncate or create) opens (enabled by default).
231
232 XRD_CONNECTIONWINDOW (-DIConnectionWindow)
233 A time window for the connection establishment. A connection fail‐
234 ure is declared if the connection is not established within the
235 time window. If a connection failure happens earlier then another
236 connection attempt will only be made at the beginning of the next
237 window.
238
239 XRD_CONNECTIONRETRY (-DIConnectionRetry)
240 Number of connection attempts that should be made (number of
241 available connection windows) before declaring a permanent fail‐
242 ure.
243
244 XRD_REQUESTTIMEOUT (-DIRequestTimeout)
245 Default value for the time after which an error is declared if it
246 was impossible to get a response to a request.
247
248 XRD_STREAMTIMEOUT (-DIStreamTimeout)
249 Default value for the time after which a connection error is
250 declared (and a recovery attempted) if there are unfulfilled
251 requests and there is no socket activity or a registered wait
252 timeout.
253
254 XRD_SUBSTREAMSPERCHANNEL (-DISubStreamsPerChannel)
255 Number of streams per session.
256
257 XRD_TIMEOUTRESOLUTION (-DITimeoutResolution)
258 Resolution for the timeout events. Ie. timeout events will be pro‐
259 cessed only every XRD_TIMEOUTRESOLUTION seconds.
260
261 XRD_STREAMERRORWINDOW (-DIStreamErrorWindow)
262 Time after which the permanent failure flags are cleared out and a
263 new connection may be attempted if needed.
264
265 XRD_RUNFORKHANDLER (-DIRunForkHandler)
266 Determines whether the fork handlers should be enabled, making the
267 API fork safe.
268
269 XRD_REDIRECTLIMIT (-DIRedirectLimit)
270 Maximum number of allowed redirections.
271
272 XRD_NOTAUTHORIZEDRETRYLIMIT (-dNotAuthorizedRetryLimit)
273 Maximum number of allowed retries at a meta-manager for not-autho‐
274 rized error.
275
276 XRD_POLLERPREFERENCE (-DSPollerPreference)
277 A comma separated list of poller implementations in order of pref‐
278 erence. The default is: built-in.
279
280 XRD_CLIENTMONITOR (-DSClientMonitor)
281 Path to the client monitor library.
282
283 XRD_CLIENTMONITORPARAM (-DSClientMonitorParam)
284 Additional optional parameters that will be passed to the monitor‐
285 ing object on initialization.
286
287 XRD_WORKERTHREADS (-DIWorkerThreads)
288 Number of threads processing user callbacks.
289
290 XRD_CPPARALLELCHUNKS (-DICPParallelChunks)
291 Maximum number of asynchronous requests being processed by the
292 xrdcp command per connected channel substream (adjusted in real-
293 time).
294
295 XRD_CPCHUNKSIZE (-DICPChunkSize)
296 Size of a single data chunk handled by xrdcp.
297
298 XRD_NETWORKSTACK (-DSNetworkStack)
299 The network stack that the client should use to connect to the
300 server. Possible values are:
301
302 IPAuto - automatically detect which IP stack to use
303
304 IPAll - use IPv6 stack (AF_INET6 sockets) and both IPv6 and IPv4
305 (mapped to IPv6) addresses
306
307 IPv6 - use only IPv6 stack and addresses
308
309 IPv4 - use only IPv4 stack (AF_INET sockets) and addresses
310
311 IPv4Mapped6 - use IPv6 stack and mapped IPv4 addresses
312
313 XRD_DATASERVERTTL (-DIDataServerTTL)
314 Time period after which an idle connection to a data server should
315 be closed.
316
317 XRD_LOADBALANCERTTL (-DILoadBalancerTTL)
318 Time period after which an idle connection to a manager or a load
319 balancer should be closed.
320
321 XRD_APPNAME (-DSAppName)
322 Override the application name reported to the server.
323
324 XRD_PLUGINCONFDIR
325 A custom location containing client plug-in config files.
326
327 XRD_PLUGIN
328 A default client plug-in to be used.
329
330 XRD_CPINITTIMEOUT (-DICPInitTimeout)
331 Maximum time allowed for the copy process to initialize, ie. open
332 the source and destination files.
333
334 XRD_CPTPCTIMEOUT (-DICPTPCTimeout)
335 Maximum time allowed for a third-party copy operation to finish.
336
337 XRD_TCPKEEPALIVE (-DITCPKeepAlive)
338 Enable/Disable the TCP keep alive functionality
339
340 XRD_TCPKEEPALIVETIME (-DITCPKeepAliveTime)
341 Time between last data packet sent and the first keepalive probe
342 (Linux only)
343
344 XRD_TCPKEEPALIVEINTERVAL (-DITCPKeepAliveInterval)
345 Interval between subsequent keepalive probes (Linux only)
346
347 XRD_TCPKEEPALIVEPROBES (-DITCPKeepProbes)
348 Number of unacknowledged probes before considering the connection
349 dead (Linux only)
350
351 XRD_METALINKPROCESSING
352 Enable/Disable Metalink processing (enabled by default)
353
354 XRD_LOCALMETALINKFILE
355 Enable/Disable local Metalink file processing (by convention the
356 following URL schema has to be used: root://localfile//path/file‐
357 name.meta4) The 'localfile' semantic is now deprecated, use
358 file://localhost/path/filename.meta4 instead!
359
360 XRD_GLFNREDIRECTOR
361 The redirector will be used as a last resort if the GLFN tag is
362 specified in a Metalink file.
363
364 XRD_XCPBLOCKSIZE
365 Maximu size of a data block assigned to a single source in case of
366 an extreme copy transfer.
367
368 XRD_NODELAY
369 Disables the Nagle algorithm if set to 1 (default), enables it if
370 set to 0.
371
372 XRD_PREFERIPV4
373 If set the client tries first IPv4 address (turned off by
374 default).
375
376 XRD_MAXMETALINKWAIT
377 The maximum time in seconds a clinet can be stalled by the server
378 if a Metalink redirector is available (defaults to 60s).
379
380 XRD_PRESERVELOCATETRIED
381 If set to 1 XRootD client will preserve tired/triedrc cgi opaque
382 info for kXR_locate request accross redirects/retries, if set to 0
383 XRootD client will treat kXR_locate as any other passive request.
384
385
387 50 : generic error (e.g. config, internal, data, OS, command line
388 option)
389
390 51 : socket related error
391
392 52 : postmaster related error
393
394 53 : XRootD related error
395
396 54 : redirection error
397
398 55 : query response was negative (this is not an error)
399
400
402 Documentation for all components associated with xrdcp can be found at
403 http://xrootd.org/docs.html
404
405
407 Errors yield an error message and a non-zero exit status.
408
409
411 LGPL
412
413
415 The xrdcp command is supported by the xrootd collaboration. Contact
416 information can be found at:
417
418 http://xrootd.org/contact.html
419
420
421
422 v4.11.0 xrdcopy(1)