12.5. ディレクトリの同期 【rsync】

$ rsync [オプション] 送信元  送信先

rsync は、リモート間でファイルを転送する事ができるプログラムです。更新されていないファイル転送を行わないことで、Web サイトへのファイルのアップデートなど、ディレクトリの同期処理が高速に行えます。ローカルホスト上で使用しても、ディレクトリの同期などに威力を発揮します。

代表的なオプションを以下に示します。

表 12-3. rsync コマンドのオプション

-a可能な限りファイルの情報を保持します。
-b古いファイルをバックアップします。
-u更新されたファイルだけ転送します。
-v冗長にメッセージを出力します。
-zファイルを圧縮します。
-e sshssh を使用してファイルの転送を行います。
--delete送信元に存在しないファイルを削除します。
--exclude指定されたファイルを除外します。

rsync は、他にも非常に多くのオプションを持っています。詳細は、man ページを参照してください。ここでは、一般的な実行例を示します。

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

上記コマンドを実行することで、~/public_html ディレクトリ内のファイルをリモートホスト(www.turbolinux.co.jp)の /var/www/html/ ディレクトリへ ssh を使用して転送することができます。