rsyncとは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
rsyncとは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢: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/

よく使うオプション

<th>オプション
意味
-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 sshSSH 経由でリモートと通信する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のおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
17121viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
3212viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1280viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1243viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
1158viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
1104viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
1095viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
1036viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
904viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
901viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
864viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
858viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
846viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
830viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
805viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
796viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
693viws
onedrive.sync.service.exeとは?初心者向けに徹底解説と安全対策共起語・同意語・対義語も併せて解説!
646viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
640viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
634viws

新着記事

インターネット・コンピュータの関連記事