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

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_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

RETURN CODES

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

NOTES

392       Documentation for all components associated with xrdcp can be found at
393       http://xrootd.org/docs.html
394
395

DIAGNOSTICS

397       Errors yield an error message and a non-zero exit status.
398
399

LICENSE

401       LGPL
402
403

SUPPORT LEVEL

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