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 uses num additional parallel streams to do the transfer. The max‐
85 imum value is 15. The default is 0 (i.e., use only the main
86 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_POLLERPREFERENCE (-DSPollerPreference)
273 A comma separated list of poller implementations in order of pref‐
274 erence. The default is: built-in.
275
276 XRD_CLIENTMONITOR (-DSClientMonitor)
277 Path to the client monitor library.
278
279 XRD_CLIENTMONITORPARAM (-DSClientMonitorParam)
280 Additional optional parameters that will be passed to the monitor‐
281 ing object on initialization.
282
283 XRD_WORKERTHREADS (-DIWorkerThreads)
284 Number of threads processing user callbacks.
285
286 XRD_CPPARALLELCHUNKS (-DICPParallelChunks)
287 Maximum number of asynchronous requests being processed by the
288 xrdcp command at any given time.
289
290 XRD_CPCHUNKSIZE (-DICPChunkSize)
291 Size of a single data chunk handled by xrdcp.
292
293 XRD_NETWORKSTACK (-DSNetworkStack)
294 The network stack that the client should use to connect to the
295 server. Possible values are:
296
297 IPAuto - automatically detect which IP stack to use
298
299 IPAll - use IPv6 stack (AF_INET6 sockets) and both IPv6 and IPv4
300 (mapped to IPv6) addresses
301
302 IPv6 - use only IPv6 stack and addresses
303
304 IPv4 - use only IPv4 stack (AF_INET sockets) and addresses
305
306 IPv4Mapped6 - use IPv6 stack and mapped IPv4 addresses
307
308 XRD_DATASERVERTTL (-DIDataServerTTL)
309 Time period after which an idle connection to a data server should
310 be closed.
311
312 XRD_LOADBALANCERTTL (-DILoadBalancerTTL)
313 Time period after which an idle connection to a manager or a load
314 balancer should be closed.
315
316 XRD_APPNAME (-DSAppName)
317 Override the application name reported to the server.
318
319 XRD_PLUGINCONFDIR
320 A custom location containing client plug-in config files.
321
322 XRD_PLUGIN
323 A default client plug-in to be used.
324
325 XRD_CPINITTIMEOUT (-DICPInitTimeout)
326 Maximum time allowed for the copy process to initialize, ie. open
327 the source and destination files.
328
329 XRD_CPTPCTIMEOUT (-DICPTPCTimeout)
330 Maximum time allowed for a third-party copy operation to finish.
331
332 XRD_TCPKEEPALIVE (-DITCPKeepAlive)
333 Enable/Disable the TCP keep alive functionality
334
335 XRD_TCPKEEPALIVETIME (-DITCPKeepAliveTime)
336 Time between last data packet sent and the first keepalive probe
337 (Linux only)
338
339 XRD_TCPKEEPALIVEINTERVAL (-DITCPKeepAliveInterval)
340 Interval between subsequent keepalive probes (Linux only)
341
342 XRD_TCPKEEPALIVEPROBES (-DITCPKeepProbes)
343 Number of unacknowledged probes before considering the connection
344 dead (Linux only)
345
346 XRD_METALINKPROCESSING
347 Enable/Disable Metalink processing (enabled by default)
348
349 XRD_LOCALMETALINKFILE
350 Enable/Disable local Metalink file processing (by convention the
351 following URL schema has to be used: root://localfile//path/file‐
352 name.meta4) The 'localfile' semantic is now deprecated, use
353 file://localhost/path/filename.meta4 instead!
354
355 XRD_GLFNREDIRECTOR
356 The redirector will be used as a last resort if the GLFN tag is
357 specified in a Metalink file.
358
359 XRD_XCPBLOCKSIZE
360 Maximu size of a data block assigned to a single source in case of
361 an extreme copy transfer.
362
363 XRD_NODELAY
364 Disables the Nagle algorithm if set to 1 (default), enables it if
365 set to 0.
366
367 XRD_PREFERIPV4
368 If set the client tries first IPv4 address (turned off by
369 default).
370
371 XRD_MAXMETALINKWAIT
372 The maximum time in seconds a clinet can be stalled by the server
373 if a Metalink redirector is available (defaults to 60s).
374
375
377 50 : generic error (e.g. config, internal, data, OS, command line
378 option)
379
380 51 : socket related error
381
382 52 : postmaster related error
383
384 53 : XRootD related error
385
386 54 : redirection error
387
388 55 : query response was negative (this is not an error)
389
390
392 Documentation for all components associated with xrdcp can be found at
393 http://xrootd.org/docs.html
394
395
397 Errors yield an error message and a non-zero exit status.
398
399
401 LGPL
402
403
405 The xrdcp command is supported by the xrootd collaboration. Contact
406 information can be found at:
407
408 http://xrootd.org/contact.html
409
410
411
412 v4.9.1 xrdcopy(1)