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

NAME

6       xrdcp - copy files
7

SYNOPSIS

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]
19       [--parallel n] [--allow-http] [--xattr]
20       [--notlsok] [--tlsnodata] [--tlsmetalink]
21       [--zip-mtln-cksum] [--rm-bad-cksum] [--continue]
22       [--xrate-threshold] [--retry-policy]
23
24       legacy options: [-adler] [-DSparm string] [-DIparm number]
25       [-md5] [-np] [-ODcgi] [-OScgi] [-x]
26
27

DESCRIPTION

29       The xrdcp utility copies one or more files from one location to an‐
30       other. The data source and destination may be a local or remote file or
31       directory.  Additionally, the data source may also reside on multiple
32       servers.
33

OPTIONS

35       -C | --cksum type[:value|print|source]
36            obtains the checksum of type (i.e. adler32, crc32, md5 or zcrc32)
37            from the source, computes the checksum at the destination, and
38            verifies that they are the same. If auto is chosen as the checksum
39            type, xrdcp will try to automatically infer the right checksum
40            type based on source/destination configuration, source file type
41            (metalink, ZIP), and available checksum plug-ins. If a value is
42            specified, it is used as the source checksum.  When print is spec‐
43            ified, the checksum at the destination is printed but is not veri‐
44            fied.
45
46       -d | --debug lvl
47            debug level: 1 (low), 2 (medium), 3 (high)
48
49       -F | --coerce
50            ignores locking semantics on the destination file. This option may
51            lead to file corruption if not properly used.
52
53       -f | --force
54            re-creates a file if it is already present.
55
56       -h | --help
57            displays usage information.
58
59       -H | --license
60            displays license terms and conditions.
61
62       -N | --nopbar
63            does not display the progress bar.
64
65       -P | --posc
66            requests POSC (persist-on-successful-close) processing to create a
67            new file. Files are automatically deleted should they not be suc‐
68            cessfully closed.
69
70       -D | --proxy proxyaddr:proxyport
71            [NOT YET IMPLEMENTED]
72
73            use proxyaddr:proxyport as a SOCKS4 proxy. Only numerical ad‐
74            dresses are supported.
75
76       -r | --recursive
77            recursively copy all files starting at the given source directory.
78
79       --retry
80            retry failed copy-jobs.
81
82       --server
83            runs as if in a server environment. Used only for server-side
84            third party copy support.
85
86       -s | --silent
87            neither produces summary information nor displays the progress
88            bar.
89
90       -y | --sources num
91            uses up to num sources to copy the file.
92
93       -S | --streams num
94            use num parallel data streams to do the transfer (the main stream
95            is in this case not used to carry out the transfer).  The maximum
96            value is 15. The default is 0 (i.e., use only the control stream).
97
98       --tpc [delegate] first|only
99            copies the file from remote server to remote server using third-
100            party-copy protocol (i.e., data flows from server to server). The
101            source and destination servers must support third party copies.
102            Additional security restrictions may apply and may cause the copy
103            to fail if they cannot be satisfied.  Argument 'first' tries tpc
104            and if it fails, does a normal copy; while 'only' fails the copy
105            unless tpc succeeds. When 'delegate' is specified, the copy dele‐
106            gates the command issuer's credentials to the target server which
107            uses those credentials to authenticate with the source server.
108            Delegation is ignored if the target server is not configured to
109            use delegated credentials. Currently, only gsi credentials can be
110            delegated.
111
112       -v | --verbose
113            displays summary output.
114
115       -V | -version
116            displays version information and immediately exits.
117
118       -z | --zip file
119            copy given file from a ZIP archive (same as xrdcl.unzip opaque
120            info).
121
122       -X | --xrate rate
123            limits the copy speed to the specified rate. The rate may be qual‐
124            ified with the letter k, m, or g to indicate kilo, mega, or giga
125            bytes, respectively. The option only applies when the source or
126            destination is local.
127
128       -X | --xrate-threshold rate
129            If the transfer rate drops below given threshold force the client
130            to use different source or if no more sources are available fail
131            the transfer.
132
133       -Z | --dynamic-src
134            file size may change during the copy
135
136       -I | --infiles fn
137            specifies the file that contains a list of input files
138
139       --parallel n
140            number of copy jobs to be run simultaneously
141
142       --allow-http
143            allow HTTP as source or destination protocol. Requires the Xrd‐
144            ClHttp client plugin
145
146       --xattr
147            preserve extended attributes
148
149       --notlsok
150            If server is too old to support TLS encryption fallback to unen‐
151            crypted communication.
152
153       --tlsnodata
154            In case of roots/xroots protocol, encrypt only the control stream
155            and leave the data streams unencrypted.
156
157       --tlsmetalink
158            Treat all URLs in metalink as roots/xroots.
159
160       --zip-mtln-cksum
161            Use the checksum available in a metalink file even if a file is
162            being extracted from a ZIP archive.
163
164       --rm-bad-cksum
165            Remove the target file if checksum verification failed (enables
166            also POSC semantics).
167
168       --continue
169            Continue copying a file from the point where the previous copy was
170            interrupted.
171
172

LEGACY OPTIONS

174       Legacy options are provided for backward compatibility. These are now
175       deprecated and should be avoided.
176       -adler
177            equivalent to "--cksum adler32:source".
178
179       -DIpname numberval
180            set the internal parameter pname with the numeric value numberval.
181
182       -DSpname stringval
183            set the internal parameter pname with the string value stringval.
184
185       -md5
186            equivalent to "--cksum md5:source".
187
188       -np
189            equivalent to "--nopbar".
190
191       -ODcgi
192            add cgi information cgi to any destination xrootd URL.  You should
193            specify the opaque information directly on the destination URL.
194
195       -OScgi
196            add cgi information cgi to any source xrootd URL.
197
198       -x
199            equivalent to "--sources 12".
200
201

OPERANDS

203       source
204            a dash (i.e. -) indicating stanard in, a local file, a local di‐
205            rectory name suffixed by /, or an xrootd URL in the form of
206                         xroot://[user@]host[:port]/absolutepath
207            The absolutepath can be a directory.
208
209       destination
210            a dash (i.e. -) indicating stanard out, a local file, a local di‐
211            rectory name suffixed by /, or an xrootd URL in the form
212                         xroot://[user@]host[:port]/absolutepath
213            The absolutepath can be a directory.
214
215
216

ENVIRONMENT

218       The following environment variables are supported. They apply to xrdfs
219       and any other application using the libXrdCl library, unless specified
220       otherwise. The text in the brackets is a name of the corresponding
221       xrdcp commandline parameter.
222
223       XRD_LOGLEVEL
224            Determines the amount of diagnostics that should be printed. Valid
225            values are: Dump, Debug, Info, Warning, and Error.
226
227       XRD_LOGFILE
228            If set, the diagnostics will be printed to the specified file in‐
229            stead of stderr.
230
231       XRD_LOGMASK
232            Determines which diagnostics topics should be printed at all lev‐
233            els. It's a "|" separated list of topics. The first element may be
234            "All" in which case all the topics are enabled and the subsequent
235            elements may turn them off, or "None" in which case all the topics
236            are disabled and the subsequent flags may turn them on. If the
237            topic name is prefixed with "^", then it means that the topic
238            should be disabled. If the topic name is not prefixed, then it
239            means that the topic should be enabled.
240
241            The log mask may as well be handled for each diagnostic level sep‐
242            arately by setting one or more of the following variables:
243            XRD_LOGMASK_ERROR, XRD_LOGMASK_WARNING, XRD_LOGMASK_INFO, XRD_LOG‐
244            MASK_DEBUG, and XRD_LOGMASK_DUMP. The default for each level is
245            "All", except for the Dump level, where the default is
246            "All|^PollerMsg". This means that, at the Dump level, all the top‐
247            ics but "PollerMsg" are enabled.
248
249            Available topics: AppMsg, UtilityMsg, FileMsg, PollerMsg, PostMas‐
250            terMsg, XRootDTransportMsg, TaskMgrMsg, XRootDMsg, FileSystemMsg,
251            AsyncSockMsg, TlsMsg
252
253       XRD_TLSDBGLVL
254            Determine the debug level for the TLS component. Valid values are:
255            OFF, CTX, SOK, SIO, ALL and OUT.  The default value is OFF.
256
257       XRD_PARALLELEVTLOOP
258            The number of event loops (i.e. the number of threads handling re‐
259            quests). Default number is 10.
260
261       XRD_READRECOVERY
262            Determines if read recovery should be enabled or disabled (enabled
263            by default).
264
265       XRD_WRITERECOVERY
266            Determines if write recovery should be enabled or disabled (en‐
267            abled by default).
268
269       XRD_OPENRECOVERY
270            Determines if open recovery should be enabled or disabled for mu‐
271            table (truncate or create) opens (enabled by default).
272
273       XRD_CONNECTIONWINDOW (-DIConnectionWindow)
274            A time window for the connection establishment. A connection fail‐
275            ure is declared if the connection is not established within the
276            time window. If a connection failure happens earlier then another
277            connection attempt will only be made at the beginning of the next
278            window.
279
280       XRD_CONNECTIONRETRY (-DIConnectionRetry)
281            Number of connection attempts that should be made (number of
282            available connection windows) before declaring a permanent fail‐
283            ure.
284
285       XRD_REQUESTTIMEOUT (-DIRequestTimeout)
286            Default value for the time after which an error is declared if it
287            was impossible to get a response to a request.
288
289       XRD_STREAMTIMEOUT (-DIStreamTimeout)
290            Default value for the time after which a connection error is de‐
291            clared (and a recovery attempted) if there are unfulfilled re‐
292            quests and there is no socket activity or a registered wait time‐
293            out.
294
295       XRD_SUBSTREAMSPERCHANNEL (-DISubStreamsPerChannel)
296            Number of streams per session.
297
298       XRD_TIMEOUTRESOLUTION (-DITimeoutResolution)
299            Resolution for the timeout events. Ie. timeout events will be pro‐
300            cessed only every XRD_TIMEOUTRESOLUTION seconds.
301
302       XRD_STREAMERRORWINDOW (-DIStreamErrorWindow)
303            Time after which the permanent failure flags are cleared out and a
304            new connection may be attempted if needed.
305
306       XRD_RUNFORKHANDLER (-DIRunForkHandler)
307            Determines whether the fork handlers should be enabled, making the
308            API fork safe.
309
310       XRD_REDIRECTLIMIT (-DIRedirectLimit)
311            Maximum number of allowed redirections.
312
313       XRD_NOTAUTHORIZEDRETRYLIMIT (-dNotAuthorizedRetryLimit)
314            Maximum number of allowed retries at a meta-manager for not-autho‐
315            rized error.
316
317       XRD_POLLERPREFERENCE (-DSPollerPreference)
318            A comma separated list of poller implementations in order of pref‐
319            erence. The default is: built-in.
320
321       XRD_CLIENTMONITOR (-DSClientMonitor)
322            Path to the client monitor library.
323
324       XRD_CLIENTMONITORPARAM (-DSClientMonitorParam)
325            Additional optional parameters that will be passed to the monitor‐
326            ing object on initialization.
327
328       XRD_WORKERTHREADS (-DIWorkerThreads)
329            Number of threads processing user callbacks.
330
331       XRD_CPPARALLELCHUNKS (-DICPParallelChunks)
332            Maximum number of asynchronous requests being processed by the
333            xrdcp command per connected channel substream (adjusted in real-
334            time).
335
336       XRD_CPCHUNKSIZE (-DICPChunkSize)
337            Size of a single data chunk handled by xrdcp.
338
339       XRD_NETWORKSTACK (-DSNetworkStack)
340            The network stack that the client should use to connect to the
341            server. Possible values are:
342
343            IPAuto - automatically detect which IP stack to use
344
345            IPAll - use IPv6 stack (AF_INET6 sockets) and both IPv6 and IPv4
346            (mapped to IPv6) addresses
347
348            IPv6 - use only IPv6 stack and addresses
349
350            IPv4 - use only IPv4 stack (AF_INET sockets) and addresses
351
352            IPv4Mapped6 - use IPv6 stack and mapped IPv4 addresses
353
354       XRD_DATASERVERTTL (-DIDataServerTTL)
355            Time period after which an idle connection to a data server should
356            be closed.
357
358       XRD_LOADBALANCERTTL (-DILoadBalancerTTL)
359            Time period after which an idle connection to a manager or a load
360            balancer should be closed.
361
362       XRD_APPNAME (-DSAppName)
363            Override the application name reported to the server.
364
365       XRD_PLUGINCONFDIR
366            A custom location containing client plug-in config files.
367
368       XRD_PLUGIN
369            A default client plug-in to be used.
370
371       XRD_CPINITTIMEOUT (-DICPInitTimeout)
372            Maximum time allowed for the copy process to initialize, ie. open
373            the source and destination files.
374
375       XRD_CPTPCTIMEOUT (-DICPTPCTimeout)
376            Maximum time allowed for a third-party copy operation to finish.
377
378       XRD_TCPKEEPALIVE (-DITCPKeepAlive)
379            Enable/Disable the TCP keep alive functionality
380
381       XRD_TCPKEEPALIVETIME (-DITCPKeepAliveTime)
382            Time between last data packet sent and the first keepalive probe
383            (Linux only)
384
385       XRD_TCPKEEPALIVEINTERVAL (-DITCPKeepAliveInterval)
386            Interval between subsequent keepalive probes (Linux only)
387
388       XRD_TCPKEEPALIVEPROBES (-DITCPKeepProbes)
389            Number of unacknowledged probes before considering the connection
390            dead (Linux only)
391
392       XRD_METALINKPROCESSING
393            Enable/Disable Metalink processing (enabled by default)
394
395       XRD_LOCALMETALINKFILE
396            Enable/Disable local Metalink file processing (by convention the
397            following URL schema has to be used: root://localfile//path/file‐
398            name.meta4) The 'localfile' semantic is now deprecated, use
399            file://localhost/path/filename.meta4 instead!
400
401       XRD_GLFNREDIRECTOR
402            The redirector will be used as a last resort if the GLFN tag is
403            specified in a Metalink file.
404
405       XRD_XCPBLOCKSIZE
406            Maximu size of a data block assigned to a single source in case of
407            an extreme copy transfer.
408
409       XRD_NODELAY
410            Disables the Nagle algorithm if set to 1 (default), enables it if
411            set to 0.
412
413       XRD_PREFERIPV4
414            If set the client tries first IPv4 address (turned off by de‐
415            fault).
416
417       XRD_MAXMETALINKWAIT
418            The maximum time in seconds a clinet can be stalled by the server
419            if a Metalink redirector is available (defaults to 60s).
420
421       XRD_PRESERVELOCATETRIED
422            If set to 1 XRootD client will preserve tried/triedrc cgi opaque
423            info for kXR_locate request across redirects/retries, if set to 0
424            XRootD client will treat kXR_locate as any other passive request.
425
426       XRD_PRESERVEXATTRS
427            If set to 1 (default) xrdcp will preserve file extended attribues,
428            if set to 0 file extended attributes won't be preserved.
429
430       XRD_NOTLSOK
431            If set to 1 and the server is to old to support TLS encryption,
432            xrdcp will fallback to unencrypted transmission although
433            roots/xroots protocol was used.  By default set to 0.
434
435       XRD_TLSNODATA
436            If set to 1, in case of roots/xroots protocol only the control
437            stream will be encrypted, data streams will be left unencrypted.
438            By default set to 0.
439
440       XRD_TLSMETALINK
441            If set to 1 all URLs in metalink will be treated as roots/xroots.
442            By default set to 0.
443
444       XRD_ZIPMTLNCKSUM
445            If set to 1, use the checksum available in a metalink file even if
446            a file is being extracted from a ZIP archive.  By default set to
447            0;
448
449       XRD_CPTIMEOUT
450            Timeout for a classical (not TPC) copy job.  By default set to 0
451            (disabled);
452
453       XRD_CLCONFDIR
454            User defined directory with config files (*.conf).
455
456       XRD_CLCONFFILE
457            User defined config file.
458
459       XRD_CPRETRY
460            Maximum number of times to retry failed copy-jobs (default: 0).
461
462       XRD_CPRETRYPOLICY
463            Copy job retry policy, either force or retry (default: force).
464
465       XRD_CPUSEPGWRTRD
466            Enable in-fly error correction of corrupted pages (default: 1).
467
468

RETURN CODES

470       50  : generic error (e.g. config, internal, data, OS, command line op‐
471       tion)
472
473       51  : socket related error
474
475       52  : postmaster related error
476
477       53  : XRootD related error
478
479       54  : redirection error
480
481       55  : query response was negative (this is not an error)
482
483

NOTES

485       Documentation for all components associated with xrdcp can be found at
486       http://xrootd.org/docs.html
487
488

DIAGNOSTICS

490       Errors yield an error message and a non-zero exit status.
491
492

LICENSE

494       LGPL
495
496

SUPPORT LEVEL

498       The xrdcp command is supported by the xrootd collaboration.  Contact
499       information can be found at:
500
501                           http://xrootd.org/contact.html
502
503
504
505                                    v5.6.3                          xrdcopy(1)
Impressum