gfal-copy - Man Page

Copy files


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


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


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


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


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.

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


disable TPC with proxy delegation.

-r,  --recursive

copy directories recursively.


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


print what would have happened without any actual change.


Copy a file to srm://, preferring a protocol as specified in the configuration file:

gfal-copy file:///etc/group srm://

You can specify directly a protocol, if you know that it is supported by the end point:

gfal-copy file:///tmp/test gsi

Do a chained copy:

gfal-copy file:///tmp/test gsi file:///tmp/test2

Registration of a file in the LFC:

gfal-copy file:///tmp/source gsi lfc://



All configuration files in this directory affect the behavior of the underlying gfal2, in particular, the default choice of transfer protocols.


Duarte Meneses <>
Adrien Devresse <>
Alejandro Alvarez Ayllon <>
Andrea Manzi <>
Mihai Patrascoiu <>
Joao Lopes <>

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)

Referenced By

gfal-archivepoll(1), gfal-bringonline(1), gfal-cat(1), gfal-chmod(1), gfal-evict(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).

March 2022 v1.7.1