概要
差分転送を行う同期コマンドです。属性保持、削除反映、除外指定、試行実行ができ、実務での出番が非常に多いです。
基本構文
rsync [オプション]... 送信元 送信先詳細解説
rsyncは、送信元と送信先の差分を見ながら、必要な部分だけを効率よくコピーするコマンドです。単純なcpやscpに比べて、再実行しやすく、大量データでも無駄な転送を抑えやすい点が大きな利点です。
実務では、バックアップ、デプロイ、ログ収集、データミラーリング、保守時の避難コピーなど幅広く使われます。-aで属性をなるべく保ち、-nで試行実行し、--deleteで送信元にないものを消す、といった組み合わせが典型です。
ただし、末尾スラッシュの有無で「ディレクトリそのものをコピーするのか、中身だけをコピーするのか」が変わる点、--deleteで受信先の不要ファイルを消す点は必ず理解してから使う必要があります。
このコマンドを使う場面
バックアップ、配布、デプロイ、遠隔保守、差分コピー、途中失敗後の再実行を安全に行いたい時に使います。
まず安全に試す方法
1. mkdir -p /tmp/rsync-demo/src /tmp/rsync-demo/dest
2. printf "hellon" > /tmp/rsync-demo/src/a.txt
3. rsync -avn /tmp/rsync-demo/src/ /tmp/rsync-demo/dest/
4. rsync -av /tmp/rsync-demo/src/ /tmp/rsync-demo/dest/
5. find /tmp/rsync-demo/dest
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
-nを付けて、実際に変更せず同期計画だけ確認します。
-
srcとsrc/で結果がどう変わるかを比較します。
資格試験との関連
-
LinuC レベル1
範囲: 1.02.2 基本的なファイル管理の実行根拠: officialLinuCレベル1では、アーカイブ、展開、圧縮、転送を含む基本的なファイル操作が重視されます。
-
LPIC-1
範囲: 103.3 Perform basic file management根拠: officialLPIC-1では、圧縮、展開、アーカイブ、転送を含む基本的なファイル管理が扱われます。
-
LinuC レベル2
範囲: 運用自動化と実践的な同期運用根拠: editorial上位レベルでは、差分転送、リモート同期、バックアップ運用の理解が実務的な重要性を持ちます。
-
LPIC-2
範囲: 実運用でのデータ同期と保守根拠: editorialLPIC-2相当の運用では、差分同期や安全なリモートコピーを理解しておくと実務で役立ちます。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、rsyncはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
mkdir -p src dest printf "hellon" > src/a.txt rsync -av src/ dest/sending incremental file list a.txt -
rsync -avn --delete src/ dest/sending incremental file list (no changes made)
戻り値コード
- 0 正常終了。同期処理に成功しました。
- >0 対象不存在、通信失敗、権限不足、除外設定不整合などで処理できませんでした。
使用例
rsync -av src/ dest/rsync -avn src/ dest/rsync -av --delete src/ dest/rsync -av -e ssh src/ user@host:/srv/backup/
よくあるエラー
-
思っていた場所と違う階層へコピーされた 原因: 送信元パス末尾のスラッシュ有無で、ディレクトリ自体を作るか中身だけを入れるかが変わりました。対処: srcとsrc/の違いを明確にし、試行実行で確認します。
-
同期後に送信先のファイルが消えた 原因: --deleteで送信元にない項目を削除しました。対処: --deleteは-nで結果確認してから使います。
導入・互換性情報
rsyncは専用プロトコルでもSSH経由でも動作します。バージョン差で既定暗号やチェックサムの挙動が変わることがあるため、異なる環境間ではオプション互換性も確認してください。
注意点 / セキュリティリスク
危険度は中程度です。末尾スラッシュの有無、--delete、除外設定の不足は大事故につながります。まず-nで計画を確認してください。
FAQ
-
Q. cpやscpでは駄目ですか。 A. 単発コピーなら十分なこともありますが、差分同期、再実行、削除反映、属性保持まで考えるならrsyncが非常に強力です。
-
Q. 最初に必ず付けたい安全策は何ですか。 A. まずは-nで試行実行し、何がコピー、更新、削除されるのかを確認することです。
関連用語
参照リンク
- カテゴリー: Archive And Transfer
- レベル: Practical
- 対応試験: LinuC, LinuC レベル1, LinuC レベル2, LPIC, LPIC-1, LPIC-2, 共通基礎