GFAL-COPY(1)

NAME
gfal-copy - Copy files

SYNOPSIS
gfal-copy [ OPTION ]... SOURCE DEST1 [ DEST2 ]...

DESCRIPTION
gfal-copy Copies files from source to destination(s). If several destinations are specified, the file will be copy in a chain: src -> dst1, dst1 -> dst2, ... If used in an interactive console, transfer information will be giving during the copy, which varies depending on the available information. This command can be used to upload local files to remote file systems and to register files in the file catalog (see examples).

OPTIONS

-h, --help
    show help about the command.

-V, --version
    output version information and exit.

-v, --verbose
    verbose mode. Repeat up to 3 times for the most verbose mode.

-D, --definition DEFINITION
    define properties for gfal2. Definitions have the following syntax: "CONFIG_GROUP:KEY=VALUE"

-t, --timeout TIMEOUT
    global timeout for the execution of the command. Command is interrupted if time expires before it finishes. Note: A grace period of 30 seconds is given to the global timeout.

-E, --cert CERT
    user certificate. (This option takes effect only after X509_USER_PROXY environment variable and default /tmp/x509up_u`id -u` location cannot provide a certificate)

--key KEY
    user private key.

-4  forces Gfal2 to use IPv4 addresses only. (Option valid only for GridFTP protocol)

-6  forces Gfal2 to use IPv6 addresses only. (Option valid only for GridFTP protocol)

-C, --client-info CLIENT_INFO
    provide custom client-side information.

--log-file LOG_FILE
    write Gfal2 library logs to the given file location.

-f, --force
    if destination file(s) cannot be overwritten, delete it and try again.

-p, --parent
    if the destination directory does not exist, create it.

-n, --nbstreams NBSTREAMS
    specify the maximum number of parallel streams to use for the copy.

--tcp-buffersize TCP_BUFFERSIZE
    specify the TCP buffersize.

-s, --src-spacetoken SRC_SPACETOKEN
    source spacetoken to use for the transfer.

-S, --dst-spacetoken DST_SPACETOKEN
    destination spacetoken to use for the transfer.

-T, --transfer-timeout TRANSFER_TIMEOUT
    timeout for the transfer operation. This timeout is enforced by each plugin, so it applies to the transfer operation only. Ensure it is equal or smaller than "--timeout" setting.

-K, --checksum CHECKSUM
    checksum algorithm to use, or algorithm:value.

--checksum-mode CHECKSUM_MODE
    checksum validation mode: 'source', 'target' or 'both'.

--from-file FROM_FILE
    read sources from a file.

--copy-mode COPY_MODE
    select the TPC copy mode: 'pull', 'push' or 'streamed'. (Option valid only for HTTP protocol)

--just-copy
    just do the copy and skip any preparation (i.e. checksum, overwrite, stats etc.). Warning: use of this switch is incompatible with the presence of directories in the argument list.

--no-delegation
    disable TPC with proxy delegation.

--evict
    evict source file from disk buffer when the transfer is finished.

--scitag SCITAG
    SciTag transfer flow identifier (number in [65-65535] range) (available only for HTTP-TPC)

-r, --recursive
    copy directories recursively.

--abort-on-failure
    abort the whole copy as soon as one failure is encountered.

--dry-run
    print what would have happened without any actual change.

EXAMPLES

Copy a file to srm://endpoint.cern.ch/path/group, preferring a protocol as specified in the configuration file:
    gfal-copy file:///etc/group srm://endpoint.cern.ch/path/

You can specify directly a protocol, if you know that it is supported by the end point:
    gfal-copy file:///tmp/test gsiftp://endpoint.cern.ch/path/test

Do a chained copy:
    gfal-copy file:///tmp/test gsiftp://endpoint.cern.ch/path/test file:///tmp/test2

Registration of a file in the LFC:
    gfal-copy file:///tmp/source gsiftp://endpoint.cern.ch/path/test lfc://lfc-host.cern.ch/lfn

FILES
/etc/gfal2.d/*
    All configuration files in this directory affect the behavior of the underlying gfal2, in particular, the default choice of transfer protocols.

AUTHORS
Duarte Meneses <duarte.meneses@cern.ch>
Adrien Devresse <adrien.devresse@cern.ch>
Alejandro Alvarez Ayllon <alejandro.alvarez.ayllon@cern.ch>
Andrea Manzi <andrea.manzi@cern.ch>
Mihai Patrascoiu <mihai.patrascoiu@cern.ch>
Joao Lopes <joao.pedro.batista.lopes@cern.ch>

SEE ALSO
gfal-cat(1), gfal-chmod(1), gfal-copy(1), gfal-ls(1), gfal-mkdir(1), gfal-rename(1), gfal-rm(1), gfal-save(1), gfal-stat(1), gfal-sum(1), gfal-token(1), gfal-xattr(1), gfal-evict(1), gfal-bringonline(1), gfal-archivepoll(1)