rsyncコマンドはファイルやディレクトリのバックアップやミラーリングを効率的に実行することができます。
リモートマシンとの同期が可能、2回目以降は差分のみ同期、削除されたファイルの同期や除外ファイルの指定が可能など便利なコマンドです。
利用方法
rsync [オプション] コピー元 コピー先
※注:コピー元のパスの最後に”/”(スラッシュ)を付けた場合と付けない場合で動作が違います
スラッシュを付けた場合はディレクトリ内のファイルをコピー、スラッシュを付けない場合はディレクトリをコピーとなります。
主なオプション
オプション | 機能 |
---|---|
–a | 「–rlptgoD」と指定したのと同様の効果。 (ディレクトリを再帰的に実行、ソフトリンク・パーミッション・タイムスタンプ・グループ・オーナーデバイス維持) |
–e [シェル名] | リモートシェルを指定。デフォルトでssh |
–z | データを圧縮する |
–n | 実行時の動作だけを表示。テストする時に使用。 |
–u | 追加されたファイルだけをコピー(ファイルがある場合に上書きしない) |
––existing | 更新されたファイルだけをコピー(追加されたファイルは無視) |
––delete | 送信側にないファイルを削除。※実行前に-nで動作テスト推奨 |
––exclude [PATTERN] | パターンに一致するファイルを除外 |
––exclude-from=FILE | ファイルに記述されたパターンと一致するファイルを除外 |
––include=PATTERN | パターン一致するファイルを除外しない |
-h(––help) | ヘルプを表示する |
使用例
rsync -az -e ssh –exclude "*.svn" /var/www/htdocs/ 192.168.0.2:/var/www/htdocs
備考
lsyncd を使うことでリアルタイムで同期させることができるようです
関連リンク
- rsync - rsync サイトの日本語訳
- ウィキペディア rsync - rysncの詳細