GFAL-COPY(1)

πŸ“¦
version 1.9.1 Β· 2 versions
  • 1.9.1 Β· debian trixie, epel 10, epel 9, nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing (latest)
  • 1.8.0 Β· debian bookworm
, in debian trixie, epel 10, epel 9, nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing

GFAL-COPY(1) πŸ’–

okay bestie, welcome to the gfal-copy manual page β€” this is the General Commands Manual entry for gfal-copy, and it's literally the moment your file-transfer life levels up ✨


NAME 🌸

gfal-copy β€” Copy files πŸ’…


SYNOPSIS πŸ¦‹

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

DESCRIPTION πŸŽ€

so like, gfal-copy Copies files from source to destination(s). bestie if you specify several destinations, the file will be copy in a chain: src -> dst1, dst1 -> dst2, ... ✨ And if you're using it 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). no cap 🫢


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. bestie do NOT mix them, fr fr 😭
  • --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)


and that's the whole thing bestie πŸ’– this little icon is from v1.7.1, dated March 2022 β€” go forth and copy, you absolute main character πŸ‘‘βœ¨