rsyc入門 3つの基本的な使い方
タグ: linux / 初版公開: 2014-02-08

rsync -avが基本

rsyncを使う上で頻出なのは-aオプションだ。これはアーカイブモードと言われるもので、パーミッションやタイムスタンプを保持してコピー元の完全なコピーを作成するオプションである。併せて-vオプションを指定してやるとコピー中のファイル名が表示され便利である。よって、rsyncの最も基本的な使い方は以下のようになる。

$ rsync -av SRC DEST

SRCはコピー元のパス、DSTはコピー先のパスである。SRCについては、末尾に/をつけるかどうかで、SRCのディレクトリ自体をコピー対象にするか切り替わることに注意しよう。/をつけるとコピー元のディレクトリ以下が、つけないとコピー元のディレクトリを含めてコピーされる。

SRCまたはDSTは、SSHでアクセスできるリモートのディレクトリであっても構わない。その場合はuser@host:dirのようにパスを指定する。

同期するなら–delete

コピー元で削除されたファイルを、コピー先で削除して、2つのディレクトリの内容を完全に同期させたい場合がある。その場合は--deleteオプションを使う。--deleteにはいくつかバリエーションがあるが、基本的には--deleteだけ覚えておけば最低限の用は足りる。

$ rsync -av --delete SRC DEST

-nでDRY RUNが可能

rsyncコマンドを実行して、実際に何が起こるのか自信がない場合は、-nオプションでDRY RUNが可能だ。DRY RUNでは実際の操作は行われず、何が起こるのかが表示される。srcdstという2つのローカルのディレクトリを同期する以下の例では、コピー元からhogepiyoがコピーされ、コピー先のfugaが削除されることがわかる。

$ rsync -avn --delete src/ dst
sending incremental file list
./
deleting fuga
hoge
piyo

sent 84 bytes  received 21 bytes  210.00 bytes/sec
total size is 10  speedup is 0.10 (DRY RUN)