## Name

gfpcopy — ファイルを並列にコピーする

## Synopsis

`gfpcopy` [-nqvdpPU] [-X `regexp`] [-S `source-domainname`] [-h `source-hostfile`] [-D `destination-domainname`] [-H `destination-hostfile`] [-j `num-of-processes`] [-J `num-of-processes`] [-M `total-byte`] [-z `minimum-byte`] [-Z `maximum-byte`] [-w `way-of-scheduling`] [-W `kilobytes-for-threshold`] [-s `KB/s-to-simulate`] [-F `num-for-readahead`] [-f] [-b `bufsize`] [-e] [-k] `source-path` `destination-path`

## DESCRIPTION

gfpcopy は、複数のファイルを並列にコピーします。

`source-path` がディレクトリの場合は、その下にあるすべてのファイルとディ レクトリをコピーします。

`destination-path` が存在しない場合は、 ディレクトリを作成します。 `destination-path` が存在する場合は、 そのディレクトリの下に`source-path` と同名のディレクトリを作成します。

作成先のホスト群を指定することにより、コピーしたファイルを格納するホス トを指定することができます。ホスト群は、ドメイン名か、ホスト名を行ごと に記述したホストファイルで指定します。ドメイン名とホストファイルを両方 指定した場合は、両方の条件に合うホスト群が選ばれます。また、作成元のホ スト群も指定可能です。その場合、そのホスト群に存在するファイルのみコピー されます。

gfpcopy は、ディレクトリを辿る際に、ディレクトリエントリ情報も並列に 取得します。

## SOURCE PATH

`source-path` には以下を指定できます。 なお、HPSS上のファイルはコピーでき ません。

`パス名`

  ローカルファイルシステム上のパスを絶対パスまたは相対パスで指定しま す。そのパスが gfarm2fs のマウントポイントの場合は、gfarm2fsを経由 せずに Gfarm からコピーします。

`gfarm:...`

  Gfarm URL で指定します。

`file:...`

  ローカルファイルシステム上のパスを URL で指定します。

## DESTINATION PATH

`destination-path` には以下を指定できます。

`パス名`

  ローカルファイルシステム上のディレクトリを絶対パスまたは相対パスで 指定します。そのパスが gfarm2fs のマウントポイントの場合は、 gfarm2fs を経由せずに Gfarm へコピーします。

`gfarm:...`

  ディレクトリを Gfarm URL で指定します。

`file:...`

  ローカルファイルシステム上のディレクトリを URL で指定します。

`hpss:...`

  HPSS 上に存在するディレクトリを URL で指定します。 その下に `source-path` と同名のディレクトリが存在する場合はエラーになります。 HPSS に対して差分コピーはできません。 hpss:. や hpss:dir のように 相対パスで指定することもできます。

## GFPCOPY OPTIONS

以下は gfpcopy 専用のオプションです。

`-b` `bufsize`

  コピー時に使用するバッファサイズを指定します。 デフォルトは 64 KiByte (64 * 1024) です。

`-f`

  -f オプションを指定する場合、コピー先のファイルとコピー元のファイル が、サイズまたは mtime が異なる場合に上書きします。

  -f オプションを指定しない場合、コピー先のほうが mtime が古い場合 に、上書きします。

`-e`

  gfpcopy を複数同時に実行するために、コピー先にファイルが存在すれば 無視します。

`-k`

  シンボリックリンクをコピーしません。

## COMMON OPTIONS

gfpcopy には gfprep と共通のオプションがあります。 gfprep のマニュアル を参照してください。

## EXAMPLES

ディレクトリ以下すべてをコピーします。

$ gfpcopy gfarm:///dir file:///tmp/dir

$ gfpcopy file:///tmp/dir gfarm:///dir

$ gfpcopy gfarm:///dir1 gfarm:///dir2

$ gfpcopy gfarm:///dir hpss:///tmp/dir

$ cd /mnt/gfarm2fs
$ gfpcopy dir /tmp/dir

一つのファイルをコピーします。

$ gfpcopy gfarm:///dir/file file:///dir

$ cd /mnt/gfarm2fs
$ gfpcopy file /tmp/dir

## NOTES

gfmdとgfpcopy が距離的に離れている場合には、 gfpcopy の動作が遅くなりま す。そのような場合には、-j または -J オプションに大きな値を指定すると、 性能が改善するかもしれません。

## SEE ALSO

gfprep(1), gfreg(1), gfexport(1), gfarm2.conf(5)