<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<!-- $Id: gfpcopy.1.docbook 9164 2014-07-10 03:56:28Z tatebe $ -->

<refentry id="gfpcopy.1">

<refentryinfo><date>29 Jun 2014</date></refentryinfo>

<refmeta>
<refentrytitle>gfpcopy</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo>Gfarm</refmiscinfo>
</refmeta>

<refnamediv id="name">
<refname>gfpcopy</refname>
<refpurpose>copy Gfarm files in parallel</refpurpose>
</refnamediv>

<refsynopsisdiv id="synopsis">
<cmdsynopsis sepchar=" ">
  <command moreinfo="none">gfpcopy</command>
  <arg choice="opt" rep="norepeat">-nqvdpPU</arg>
  <arg choice="opt" rep="norepeat">-f</arg>
  <arg choice="opt" rep="norepeat">-S <replaceable>source-domainname</replaceable></arg>
  <arg choice="opt" rep="norepeat">-h <replaceable>source-hostfile</replaceable></arg>
  <arg choice="opt" rep="norepeat">-D <replaceable>destination-domainname</replaceable></arg>
  <arg choice="opt" rep="norepeat">-H <replaceable>destination-hostfile</replaceable></arg>
  <arg choice="opt" rep="norepeat">-j <replaceable>num-of-processes</replaceable></arg>
  <arg choice="opt" rep="norepeat">-J <replaceable>num-of-processes</replaceable></arg>
  <arg choice="opt" rep="norepeat">-M <replaceable>limit-byte</replaceable></arg>
  <arg choice="opt" rep="norepeat">-w <replaceable>way-of-scheduling</replaceable></arg>
  <arg choice="opt" rep="norepeat">-W <replaceable>kilobytes-for-threshold</replaceable></arg>
  <arg choice="opt" rep="norepeat">-s <replaceable>KB/s-to-simulate</replaceable></arg>
  <arg choice="opt" rep="norepeat">-F <replaceable>num-for-readahead</replaceable></arg>
  <arg choice="opt" rep="norepeat">-b <replaceable>bufsize</replaceable></arg>
  <arg choice="plain" rep="norepeat"><replaceable>source-path</replaceable></arg>
  <arg choice="plain" rep="norepeat"><replaceable>destination-path</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>

<!-- body begins here -->

<refsect1 id="description"><title>DESCRIPTION</title>

<para>
<command moreinfo="none">gfpcopy</command> は、ファイルやディレクトリを
並列にコピーします。
</para>
<para>
転送先や転送元のホスト群を指定するには、
ドメイン名で指定するか、ホスト名を行ごとに記述したホストリストファイルを指定します。
ドメイン名とホストリストファイルを両方指定した場合は、
両方の条件に合うホスト群を決定します。
転送元ホスト群を指定した場合、そのホストに存在するファイルのみ複製が作成されます。
</para>
<para>
<parameter moreinfo="none">source-path</parameter> がディレクトリの場合、
それ以下にあるすべてのファイルをコピーします。
</para>
<para>
<command moreinfo="none">gfpcopy</command> は、ディレクトリを辿る際に、
ディレクトリエントリ情報も並列に取得します。
</para>
</refsect1>

<refsect1 id="options"><title>GFPCOPY OPTIONS</title>
<para>
以下は <command moreinfo="none">gfpcopy</command> 専用のオプションです。
</para>
<variablelist>

<varlistentry>
<term><option>-b</option> <parameter moreinfo="none">bufsize</parameter></term>
<listitem>
<para>
コピー時に使用するバッファサイズを指定します。
</para>
<para>
標準は 64 キビバイト (64 * 1024) です。
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><option>-f</option></term>
<listitem>
<para>
-f オプションを指定する場合、コピー先のファイルとコピー元のファイルが、
サイズまたは mtime が異なる場合に上書きします。
</para>
<para>
-f オプションを指定しない場合、
コピー先のほうが mtime が古い場合に、上書きします。
</para>
</listitem>
</varlistentry>

</variablelist>
</refsect1>

<refsect1 id="common-options"><title>COMMON OPTIONS</title>
<para>

<command moreinfo="none">gfpcopy</command> には
<command moreinfo="none">gfprep</command> と共通のオプションがあります。
<command moreinfo="none">gfprep</command> のマニュアルを参照してください。
</para>
</refsect1>

<refsect1 id="examples"><title>EXAMPLES</title>
<para>
ディレクトリ以下すべてをコピーします。
</para>
<literallayout format="linespecific" class="normal">
$ gfpcopy gfarm:///dir file:///tmp/dir
</literallayout>
<literallayout format="linespecific" class="normal">
$ gfpcopy file:///tmp/dir gfarm:///dir
</literallayout>
<literallayout format="linespecific" class="normal">
$ gfpcopy gfarm:///dir1 gfarm:///dir2
</literallayout>
<literallayout format="linespecific" class="normal">
$ cd /mnt/gfarm2fs
$ gfpcopy dir /tmp/dir
</literallayout>

 <para>
一つのファイルをコピーします。
</para>
<literallayout format="linespecific" class="normal">
$ gfpcopy gfarm:///dir/file file:///dir
</literallayout>
<literallayout format="linespecific" class="normal">
$ cd /mnt/gfarm2fs
$ gfpcopy file /tmp/dir
</literallayout>
</refsect1>

<refsect1 id="notes"><title>NOTES</title>
<para>
<command moreinfo="none">gfmd</command> と
<command moreinfo="none">gfpcopy</command> が距離的に離れている場合には、
<command moreinfo="none">gfpcopy</command> の動作が遅くなります。
そのような場合には、-j または -J オプションに大きな値を指定すると、
性能が改善するかもしれません。
</para>
</refsect1>

<refsect1 id="see-also"><title>SEE ALSO</title>
<para>
  <citerefentry>
  <refentrytitle>gfprep</refentrytitle><manvolnum>1</manvolnum>
  </citerefentry>,
  <citerefentry>
  <refentrytitle>gfreg</refentrytitle><manvolnum>1</manvolnum>
  </citerefentry>,
  <citerefentry>
  <refentrytitle>gfexport</refentrytitle><manvolnum>1</manvolnum>
  </citerefentry>,
  <citerefentry>
  <refentrytitle>gfarm2.conf</refentrytitle><manvolnum>5</manvolnum>
  </citerefentry>
</para>
</refsect1>

</refentry>
