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] [--path]
19       [--parallel n] [--allow-http]
20
21       legacy options: [-adler] [-DSparm string] [-DIparm number]
22       [-md5] [-np] [-ODcgi] [-OScgi] [-x]
23
24

DESCRIPTION

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

OPTIONS

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

LEGACY OPTIONS

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

OPERANDS

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

ENVIRONMENT

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

RETURN CODES

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

NOTES

402       Documentation for all components associated with xrdcp can be found at
403       http://xrootd.org/docs.html
404
405

DIAGNOSTICS

407       Errors yield an error message and a non-zero exit status.
408
409

LICENSE

411       LGPL
412
413

SUPPORT LEVEL

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)
Impressum