18 Oct 2021
gfcp 1 Gfarm
gfcp copy a file in parallel
`gfcp` -fpqvd -h filesystem-node -j num-of-processes -m minimum-bytes -o destination-file source-file

## DESCRIPTION

`gfcp` copies a single file to a single file in parallel.

source-file is a source file to copy. When multiple source files are specified, they will be concatinated in that order.

destination-file is a destination file to copy. When a destination file exists, the file will not be overwritten.

## SOURCE FILE

source-file must be one of the following formats.

path-name

  is a relative path or an absolute path of a local file system. When the path is a mount point on gfarm2fs, the file is read without passing through the gfarm2fs.

gfarm:...

  is a Gfarm URL.

file:...

  is an URL of a local file system.

## DESTINATION FILE

destination-file must be one of the following formats.

path-name

  is a relative path or an absolute path of a local file system. When the path is a mount point on gfarm2fs, the file is written without passing through the gfarm2fs.

gfarm:...

  is a Gfarm URL.

file:...

  is an URL of a local file system.

## OPTIONS

`-f`

  Overwrites existing file.

`-h` filesystem-node

  explicitly specifies the file system node to be stored.

`-i` input-listfile

  Specifies a file which describes input files instead of source-file arguments. The input-listfile consists of an input URL on each line.

`-j` num-of-processes

  Specifies the number of processes to copy. The source files are splited evenly, and they will be assigned to each process.

  The default value is the parameter of client_parallel_copy in gfarm2.conf. (see man gfarm2.conf)

`-m` minimum-bytes

  Specifies the minimum size (byte) per a process to copy in parallel. When the size assigned to a process is equal or smaller than -m, single process is used to copy (not copied in parallel). The default value is 0 byte (always copied in parallel).

`-p`

  Reports copy performance.

`-q`

  Suppresses non-error messages.

`-v`

  Displays verbose output.

`-d`

  Displays debug output.

`-?`

  Displays a list of command options.

## NOTES

When a file is created in Gfarm and the file is written in parallel or randomly, checksum for the file will not be calculated and not added. Therefore, when `gfcp` is used, checksum will not be added to the file. Once the file is read sequentially or replicas for the file are created, checksum will be added to the file. Or, when write_verify of gfmd.conf (see man gfarm2.conf) is "enable", checksum is added to the file after a while after copying by `gfcp`.

## SEE ALSO

gfpconcat 1 , gfcksum 1 , gfarm2.conf 5