gfcp

## Name

gfcp — copy a file in parallel

## Synopsis

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