• お問い合わせ
  • ユーザー登録
ドキュメント
サポート案内
ユーザー登録
サポートセンター
ドキュメント
ダウンロード
セキュリティ
よくある質問とその回答
製品マニュアル
カタログ
収録パッケージ一覧


ツールの解説 No. 178

rsync を使用して2つのディレクトリの同期をとる方法


rsync は、rcp のようにファイルをリモートホストへ転送する事ができるプログラムです。
しかし、非常に多くのオプションが用意されており、すでに存在するファイルは転送しな
い事により、Webサイトのアップデートなどを高速に処理することができます。ローカル
ホスト上で使用しても、リムーバブルメディアの同期などに威力を発揮します。

【手順】
rsync は、非常に多くのオプションを持っています。詳細については、`man rsync` を
ご参照下さい。ここでは、一般的によく用いられる例を解説します。

(1) ローカルホストからWebサーバにファイルをアップロードする方法

以下のコマンドを実行することにより、~/public_html ディレクトリ内のファイルが、
Web サーバーの /home/httpd/html/ にアップロードされます。

$ rsync -auvz --exclude '*~' ~/public_html webmaster@www.turbolinux.co.jp:/home/httpd/html/

各オプションは、以下のような意味を持ちます。
 -a, --archive  可能な限りファイルの情報を保持します。
 -u, --update   更新されたファイルだけ転送します。
 -v, --verbose  冗長にメッセージを出力します。
 -z, --compress ファイルを圧縮します。
 --exclude 指定されたファイルは除外します。

(2) ssh を使用して転送する方法

`-e ssh` を指定することによって、ssh を使用した安全な転送を行うことができます。

$ rsync -auvz -e ssh --exclude '*~' ~/public_html webmaster@www.turbolinux.co.jp:/home/httpd/html/

(3) 旧ftpサイトの内容を、新ftpサイトにミラーリングする方法

以下の方法によって、2つのディレクトリの同期をとることができます。

$ rsync -az -e ssh --delete /home/ftp/pub/ newftp:/home/ftp/pub/

--delete オプションを指定すると、送信元に存在しないファイルを削除します。

(4) フロッピーディスクで持ち出したファイルから、更新されたファイルだけをハード
ディスクに戻す方法

$ rsync -auvzb --exclude '*~' /mnt/floppy/ ~/briefcase/

-b オプションを指定すると、古いファイルのバックアップを作成します。
キーワード
rsync

関連文書
(none)


Last modified : Wed Jul 12 JST 2000 # 1