

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
はじめに
rsyncとは、ファイルを差分だけ転送してくれる便利なソフトです。自分のパソコンと別の場所の間でファイルを同期するのに使います。例えば自宅のパソコンとノートパソコン(関連記事:ノートパソコンの激安セール情報まとめ)、あるいは会社のサーバーとの間で、最新のファイルだけを相手に送ることができます。差分転送のおかげで、同じファイルを何度も全部コピーする必要がなくなります。これが rsync の大きな魅力です。
仕組みはとてもシンプルです。ソースと宛先の状態を比較して、変更された部分だけを転送します。rsync はファイルのサイズや更新日時、時刻の情報を用いて差分を判断します。転送が完了すると、宛先はソースと同じ内容になります。ローカル同士のディレクトリ間だけでなく、ネットワーク越しの転送にも対応しています。
基本的な使い方
最も基本的な形は次のとおりです。rsync [オプション] SRC DST SRC には転送元、DST には転送先を指定します。SRC と DST は同じコンピュータ内のパスでも、ネットワーク越しでも構いません。
代表的なローカル間の同期の例:
rsync -avh source/ destination/
リモートサーバーへ同期する場合は SSH を使うのが一般的です。rsync -avh -e ssh user@host:/path/ /local/path/ ここで user はログインユーザー名、host はサーバーのホスト名、/path/ はサーバー側のディレクトリ、/local/path/ は自分の手元のディレクトリを示します。
転送中の進捗を見たいときは -P を使います。さらに転送量を人間に読みやすくするために -h を組み合わせるのが基本です。例えば次のようになります。
rsync -avhP source/ destination/
よく使うオプション
| 意味 | 例 | |
|---|---|---|
| -a | アーカイブモード。ファイルの属性を保持して再現 | rsync -avh src/ dst/ |
| -v | 詳細な情報を表示 | rsync -av src/ dst/ |
| -h | 人間に読みやすい形式で表示 | rsync -avh src/ dst/ |
| -z | 転送を圧縮して速くする | rsync -avz src/ dst/ |
| -P | 進捗を表示して途中経過を追える | rsync -avP src/ dst/ |
| --delete | 宛先にないファイルを削除して完全に一致させる | rsync -av --delete src/ dst/ |
| -e ssh | SSH 経由でリモートと通信する | rsync -avh -e ssh user@host:/path/ /local/path/ |
安全のためのポイントとして、転送前に内容を確認したいときは --dry-run(-n)を使います。これにより実際には何も転送されず、どのファイルが変更されるかを事前に知ることができます。
安全に使うコツ
初めて rsync を使うときは、dry-run で挙動を確認してから実行しましょう。特に --delete を使うと宛先が元に戻らなくなることがあるため、事前にバックアップを作っておくと安心です。
まとめ
rsync は、差分だけ転送するという性質のおかげで、バックアップやサイトの更新を速く、そして安全に行えます。Linux や macOS には標準で付属していることが多く、Windows でも cwRsync などを使えば同じ感覚で利用できます。初めて使うときは dry-run で挙動を確認し、少しずつオプションを覚えていくと良いでしょう。
rsyncの関連サジェスト解説
- rsync コマンド とは
- rsync コマンド とは、ファイルやフォルダーを効率的にコピー・同期するためのツールです。多くの Linux 系 OS に標準搭載されており、Windows でも WSL や cygwin などを使えば利用できます。rsync の大きな特徴は「差分だけを転送する」点です。初回にすべてのファイルをコピーしてもよいのですが、2回目以降は変更された部分だけを転送するので時間と通信量を節約できます。さらにネットワーク越しの同期にも強く SSH を使って安全にデータをやり取りします。オプションはたくさんありますが、初心者がまず覚えるべき基本は以下の3つです。-a はアーカイブモードで、ファイルの権限・タイムスタンプ・シンボリックリンク などを保持します。-v は転送状況を表示します。-z は転送時に圧縮してネットワーク負荷を減らします。使い方の基本は「rsync [オプション] コピー元 コピー先」です。例としてローカル間のコピーは次のようになります。 rsync -avh /path/to/source/ /path/to/destination/ 。ここで -h は人間に読みやすい単位表示を意味します。リモートへバックアップする場合は SSH を使います。 rsync -avz /path/to/source/ user@remotehost:/path/to/destination/ のようにします。リモートのディレクトリへ安全に送るには事前に SSH 設定をしておくと楽です。--delete オプションを使うとコピー先を同期元と同じ状態に保てますが 削除も含まれるため取り扱いには注意が必要です。安全に試すには --dry-run を付けて「実際にはどうなるか」を事前に確認しましょう。 include/exclude で特定のファイルだけを同期することも可能で これを使うと必要なデータだけを選んで移動できます。このように rsync はバックアップやサーバーへのデプロイ、クラウドとローカルの同期など幅広い用途に使えます。慣れてくると複数の場所を一度に更新するスクリプトを作ることもでき、日々のデータ管理をとても楽にしてくれます。
rsyncの同意語
- ファイル同期ツール
- 二箇所以上のディレクトリやファイルを同じ状態に揃えるためのツールの総称。
- 差分転送ツール
- 変更があった部分だけを転送して同期を実現する、転送量を抑える機能を持つツール。
- ミラーリングツール
- ある場所のディレクトリ構成とファイル内容を鏡像のように別の場所へ再現するツール。
- バックアップ用同期ツール
- データのバックアップを取りつつ、最新状態を同期することを目的としたツール。
- リモートファイル同期ツール
- ネットワーク越しにローカルとリモートのファイルを同期する機能を持つツール。
- ディレクトリ同期コマンド
- ディレクトリ間の同期を実行するためのコマンド系機能。
- ネットワークファイル転送ツール
- ネットワークを介してファイルを転送・同期するツール。
- SSH経由転送ツール
- SSHを使って安全にファイル転送と同期を行う機能を持つツール。
- コマンドライン同期ツール
- コマンドライン操作でファイルを同期するツール。
- ローカル/リモート同期コマンド
- ローカルとリモートのファイルを同期するためのコマンド。
- データミラーリングツール
- データを鏡像として他場所に同期・保持する機能を持つツール。
- サーバ間同期ツール
- 複数のサーバ間でファイルを同期するためのツール。
- デルタ転送ツール
- 変更分だけを転送するデルタ転送機能を備えたツール。
rsyncの対義語・反対語
- 非同期転送
- データを転送中も他の作業を並行して進める方式。rsync は一般的に転送処理が完了してから次の処理へ進む点が特徴ですが、これを待たずに進めるのが非同期の対義語です。
- 手動コピー
- 人の手でファイルを直接コピーする方法。rsync の自動化・差分転送の利便性に対して、手動コピーは自動化がない点が対極です。
- 全量転送
- すべてのファイルを再転送する方式。rsync は差分だけを転送する差分転送を得意としますが、全量転送は転送量が増えるのが特徴です。
- 圧縮なし転送
- 転送データを圧縮せず、そのまま送る方法。rsync には圧縮オプションがある一方、圧縮なしの転送を対義として挙げられます。
- 一方向同期
- 転送を源から転送先へ一方向だけ行う同期。rsync は主に一方向の同期として使われることが多いが、双方向同期は別の手法が必要になる点を対照として挙げます。
- 物理メディアコピー
- USBメモリなど物理メディアを介して手動でコピーする方式。ネットワーク経由の転送である rsync の対極として挙げられます。
- 削除を伴う同期
- 転送先の余分なファイルを同期の過程で削除して、源と完全に一致させる設定。rsync には --delete などの機能がありますが、削除を伴わない運用も一般的です。
rsyncの共起語
- バックアップ
- データを別の場所に保存する作業。rsyncは差分転送で効率良くバックアップを実現します。
- 同期
- 二つの場所のファイルを同じ状態に揃える作業。新しい差分だけを転送して効率化します。
- 差分同期
- 前回の状態と比較して変更された部分だけを転送する機能。通信量を抑えられます。
- 転送
- データを送受信する一般的な作業。
- ディレクトリ
- フォルダ単位で転送・同期を行い、再帰的に処理できます。
- ファイル
- 個々のデータ単位。ファイルごとに更新や転送が判断されます。
- SSH
- 安全な暗号化通信の一種。rsyncは通常SSH経由でリモート転送します。
- リモート
- 離れた別のマシンやサーバーのこと。リモート転送で多く使われます。
- ローカル
- 自分のマシン内で完結する処理のこと。
- 圧縮
- 転送データを圧縮して通信量を減らす機能(-z相当)。
- 進捗表示
- 転送の進行状況を画面に表示します(--progress)。
- 転送統計
- 転送量、速度、所要時間などの統計情報を出力します(--stats)。
- 帯域制限
- 転送時の帯域幅を制限してネットワーク負荷を抑えます(--bwlimit)。
- 除外
- 転送対象から特定のファイル・ディレクトリを除外します(--exclude)。
- 含める
- 転送対象に含めるファイル・パターンを指定します(--include)。
- rsyncコマンド
- ターミナルで実行する基本のコマンド名。
- rsyncデーモン
- サーバー側でrsyncをデーモンとして動作させるモード。
- cron
- 定期的に実行するスケジューラ。rsyncを自動化する際に使われます。
- 自動化
- 人の手を介さず自動で同期を行う運用のこと。
- ハードリンク
- 差分バックアップを効率化する技法。--link-dest などと組み合わせます。
- シンボリックリンク
- ファイルへの別名(リンク)を転送時にどう扱うかを指示します。
- 削除
- 宛先に存在しないファイルを同期時に削除します(--delete)。
- rsync-path
- リモート側のrsync実行ファイルのパスを指定するオプション。
- cwRsync
- Windows上で rsync を利用する代表的な実装のひとつ。
rsyncの関連用語
- rsync
- ファイルの同期と転送を行うツール。差分転送により変更部分だけを転送して高速に同期します。
- デルタ転送アルゴリズム
- ファイルの変更箇所だけを検出して転送する仕組み。全体を送る必要がなく通信量を減らします。
- シグネチャフェーズ
- ファイルを小さなブロックに分け、それぞれの検査データ(シグネチャ)を作成する前段階。
- デルタフェーズ
- シグネチャを用いて、転送すべき差分データを実際に決定する段階。
- ファイルリスト
- 転送対象として扱うファイルとディレクトリの一覧。
- アーカイブモード (-a)
- ファイルの権限・所有者・タイムスタンプ・リンクの扱いなどをできるだけ保持して転送します。
- -a
- アーカイブモードの短縮形。複数の細かなオプションを同時に有効化します。
- --delete
- 送信先に存在しないファイルを削除して、同期状態を保ちます。
- --delete-after
- 削除を転送後に実行します。作業中の中間状態を避けたいときに便利です。
- --delete-excluded
- 除外対象も削除対象に含めます。
- --exclude
- 転送対象から外すパターンを指定します。
- --exclude-from
- 除外対象のパターンをファイルに列挙します。
- --include
- 含めるパターンを指定します。exclude の補完として使います。
- --include-from
- 含めるパターンをファイルに列挙します。
- --filter
- より細かい条件で転送対象を決めるルールを設定します。
- --files-from
- ファイルリストを別ファイルにして指定します。
- --progress
- 転送状況を進行状況として表示します。
- --stats
- 転送後に統計情報を表示します。
- --itemize-changes
- どのファイルがどのように変わったかを一覧表示します。
- --dry-run
- 実際には転送せず、何が転送されるかを事前に確認します。
- バックアップ
- 重要なデータを守るためのコピー作成。rsync は差分転送で効率化します。
- リモート転送 (rsync over SSH)
- SSHを使ってネットワーク越しに安全に転送します。
- SSH
- セキュアな遠隔接続の仕組み。転送の通信を暗号化します。
- -e / --rsh
- リモートシェルを指定するオプション。例: -e 'ssh -p 2222'。
- rsyncd (rsyncデーモン)
- バックエンドとして動く rsync の常駐サービス。
- rsyncd.conf
- rsyncデーモンの設定ファイル。公開モジュールや認証を定義します。
- モジュール (module)
- rsyncデーモンが公開する転送対象の単位。
- パス (path)
- 同期する対象のファイルやディレクトリの場所。
- hosts allow/deny
- どのホストからの接続を許可・拒否するかを制御します。
- read only
- モジュールの書き込みを許可するかどうかを設定します。
- auth users / secrets file
- デーモンへの認証に使うユーザーとパスワードの情報。
- パーミッション (-p / --perms)
- ファイルの権限情報を保持します。
- 所有者 (-o / --owner)
- ファイルの所有者情報を保持します。
- グループ (-g / --group)
- ファイルのグループ情報を保持します。
- タイムスタンプ (-t / --times)
- ファイルの最終更新時刻を保持します。
- シンボリックリンク (-l)
- シンボリックリンクをリンクとして扱います。
- ハードリンク (-H)
- ハードリンクを転送します。
- 参照/解参照 (-L)
- シンボリックリンク先の実ファイルを転送します。
- サイズ照合 (-size-only)
- ファイルサイズだけを比較して更新を判断します。
- --xattrs
- 拡張属性を転送・保持します。
- ACL
- アクセスコントロールリスト。ファイルの詳細な権限設定を扱います。
- チェックサム / ハッシュ
- 転送前後のデータの整合性を検証するための値。
- --bwlimit
- 帯域幅の上限を設定します。
- -z / --compress
- 転送データを圧縮して通信量を減らします。
- --compress-level
- 圧縮レベルを指定します。
- --log-file
- 実行時のログをファイルへ出力します。
- cron / スケジュール
- バックアップや同期を定期的に自動実行する設定。
- スコープ / 互換性
- rsync のバージョン差や実装差による挙動の違いを理解します。
rsyncのおすすめ参考サイト
- rsyncの基本的な使い方とオプションの解説 - よっしーノート
- rsyncの基本的な使い方とオプションの解説 - よっしーノート
- rsyncコマンドとは - IT用語辞典 e-Words
- 犬でも分かるrsync(1): rsyncの基本 - The Running Dog in Dog Years



















