No.071圧縮と転送

rsync

アールシンク・差分同期

知識レベル 実践注意一般ユーザーで使える

差分転送を行う同期コマンドです。属性保持、削除反映、除外指定、試行実行ができ、実務での出番が非常に多いです。

答えよく使う形

  1. 中身だけを同期する代表形です
  2. -nを付けると削除を含む計画を事前確認できます
  3. 再帰、権限、時刻などをまとめて保持しやすい代表オプションです

注意危険度は中程度です。

visitor@goodly: ~

$ 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)

$ rsync -av src/ dest/

覚える順番の中でLPIC-1・93 駅め / 106

どんなコマンド?

こんなときに

バックアップ、配布、デプロイ、遠隔保守、差分コピー、途中失敗後の再実行を安全に行いたい時に使います。

rsyncは、送信元と送信先の差分を見ながら、必要な部分だけを効率よくコピーするコマンドです。単純なcpやscpに比べて、再実行しやすく、大量データでも無駄な転送を抑えやすい点が大きな利点です。

実務では、バックアップ、デプロイ、ログ収集、データミラーリング、保守時の避難コピーなど幅広く使われます。-aで属性をなるべく保ち、-nで試行実行し、--deleteで送信元にないものを消す、といった組み合わせが典型です。

ただし、末尾スラッシュの有無で「ディレクトリそのものをコピーするのか、中身だけをコピーするのか」が変わる点、--deleteで受信先の不要ファイルを消す点は必ず理解してから使う必要があります。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ rsync

使用例と実行結果

行を押すとコピーできます。

sending incremental file list
a.txt
中身だけを同期する代表形です。
sending incremental file list
(no changes made)
-nを付けると削除を含む計画を事前確認できます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

思っていた場所と違う階層へコピーされた

原因送信元パス末尾のスラッシュ有無で、ディレクトリ自体を作るか中身だけを入れるかが変わりました。

こうするsrcとsrc/の違いを明確にし、試行実行で確認します。

同期後に送信先のファイルが消えた

原因--deleteで送信元にない項目を削除しました。

こうする--deleteは-nで結果確認してから使います。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。同期処理に成功しました。
  • >0対象不存在、通信失敗、権限不足、除外設定不整合などで処理できませんでした。

気をつけることと入れ方

気をつけること

危険度は中程度です。末尾スラッシュの有無、--delete、除外設定の不足は大事故につながります。まず-nで計画を確認してください。

環境による違い

rsyncは専用プロトコルでもSSH経由でも動作します。バージョン差で既定暗号やチェックサムの挙動が変わることがあるため、異なる環境間ではオプション互換性も確認してください。

確かめた環境2026-04-09 に確認

よくある質問

cpやscpでは駄目ですか。

単発コピーなら十分なこともありますが、差分同期、再実行、削除反映、属性保持まで考えるならrsyncが非常に強力です。

最初に必ず付けたい安全策は何ですか。

まずは-nで試行実行し、何がコピー、更新、削除されるのかを確認することです。

資格試験では

  • LinuC レベル1大事1.02.2 基本的なファイル管理の実行
  • LPIC-1大事103.3 Perform basic file management
  • LinuC レベル2関係運用自動化と実践的な同期運用上位レベルでは、差分転送、リモート同期、バックアップ運用の理解が実務的な重要性を持ちます。
  • LPIC-2関係実運用でのデータ同期と保守LPIC-2相当の運用では、差分同期や安全なリモートコピーを理解しておくと実務で役立ちます。
  • 共通基礎大事Linuxコマンド基礎

rsync を最後まで読みました。

Linux コマンド辞典に戻る98 / 144

Goodly のメニュー