🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
Rsyncは、システム間でファイルを転送および同期するための強力なツールです。バックアップ、ファイルのミラーリング、ローカルディレクトリ間やリモートサーバー間でのファイル更新に広く使用されています。バックアップの管理やマシン間でのファイル転送など、Linuxシステムを扱うすべての人にとってRsyncの使い方を理解することは不可欠です。
Rsyncとは?
Rsyncは、転送元ファイルと転送先ファイルの差分のみを転送することで効率的にファイルをコピーするファイル転送ツールです。この機能によりデータ転送量が削減され、処理が高速化されるため、システム管理者や開発者の間で広く支持されています。
Rsyncのインストール
RsyncはほとんどのLinuxディストリビューションの公式リポジトリで提供されており、標準でプレインストールされていることもよくあります。各種システムへのインストール方法は以下のとおりです:
ステップ1: UbuntuおよびDebianにRsyncをインストールする
sudo apt install rsync
ステップ2: FreeBSDにRsyncをインストールする
sudo pkg install rsync
ステップ3: Arch LinuxにRsyncをインストールする
sudo pacman -S rsync
ステップ4: Fedora、AlmaLinux、Rocky Linux、VzLinuxにRsyncをインストールする
sudo dnf install rsync
ステップ5: CentOSにRsyncをインストールする
sudo yum install rsync
Rsyncコマンドの構文
Rsyncを使用する基本的な構文は以下のとおりです:
rsync [OPTIONS] SOURCE DESTINATION
各項目の説明:
- OPTIONS: Rsyncの動作を変更するフラグ(例えばアーカイブモードの
-aなど)。 - SOURCE: 同期するファイルまたはディレクトリ。
- DESTINATION: 転送元のコピー先。
SSH経由でリモート転送を行う場合は、次の構文を使用します:
rsync [OPTIONS] [USER@]HOST:SOURCE DESTINATION
置き換え対象の [USER@]HOST をリモートユーザーの認証情報とホストアドレスに置き換えます。
よく使用されるRsyncオプション
よく使用されるオプションを以下に示します:
-a, --archive: アーカイブモードを有効にし、ファイル属性を保持します。-v, --verbose: 転送中に詳細な情報を表示します。-z, --compress: 帯域幅を節約するために転送中にデータを圧縮します。--exclude=PATTERN: 特定のパターンに一致するファイルを除外します。--delete: 転送元に存在しない転送先のファイルを削除します。
Rsyncを使用したファイルとディレクトリの転送
まずはテスト環境をセットアップします:
ステップ1: テストディレクトリを作成する
mkdir rsync-test
ステップ2: ディレクトリに移動する
cd rsync-test
ステップ3: サンプルファイルを作成する
touch file1 file2 file3
ローカルファイルの転送
ファイルを新しいディレクトリ destにコピーするには、次を使用します:
rsync file1 file2 file3 dest
ファイルがコピーされたことを確認します:
ls dest/
ローカルディレクトリの転送
ディレクトリとその内容をコピーするには、 -a フラグを使用します:
rsync -a dest/ dest-copy
コピー操作を確認します:
ls dest-copy/
ファイルまたはディレクトリの除外
特定のファイルをコピーから除外するには、 --exclude フラグを使用します:
rsync -a --exclude 'file2' --exclude 'dest*' . output
出力を確認します:
ls output/
リモートマシンへのデータの同期
リモートマシンにファイルを同期するには、次を使用します:
rsync -hazvP --delete --stats . [email protected]:synced_from_local
このコマンドは以下の処理を行います:
-h: 数値を人間が読みやすい形式で出力します。-a: アーカイブモードを有効にします。-z: 転送中にデータを圧縮します。-v: 詳細な出力を有効にします。--delete: 転送元に存在しなくなったファイルを転送先から削除します。--stats: 転送の概要を表示します。
SSHを使用してリモートマシンにログインします:
ssh [email protected]
まとめ
Rsyncは、ファイル転送と同期を簡素化する多機能なツールです。ファイルのバックアップを行う場合でも、システム間でデータを転送する場合でも、Rsyncの効率性と柔軟性は非常に有用なリソースとなります。
メリット
- 差分のみを送信することによる効率的なファイル転送。
- ファイル属性やメタデータを保持。
- 帯域幅を節約するための圧縮をサポート。
- ファイルを含める/除外するための柔軟なオプション。
デメリット
- オプションが多数あるため、初心者には複雑に感じられる場合がある。
- リモート転送にはSSHアクセスが必要。
- 削除オプションを不適切に使用した場合、データが失われる可能性がある。
注意
本記事は教育目的で提供されています。コマンドを使用する際は、必ずプレースホルダーの値を実際のデータに置き換えてください。また、記載内容に依拠する前に、元の情報源に照らして確認してください。
よくある質問
- Rsyncとは何ですか? — Rsyncは、ローカルシステムとリモートシステム間でファイルを効率的に同期するファイル転送ツールです。
- LinuxにRsyncをインストールするにはどうすればよいですか? — お使いのディストリビューションのパッケージマネージャーを使用します。例えば
apt,dnf、またはpacman. - この
-aオプションはRsyncで何をするものですか? — この-aオプションはアーカイブモードを有効にし、転送中にファイル属性を保持します。 - Rsyncはリモート転送に使用できますか? — はい、RsyncはSSHを使用してリモートシステムとの間でファイルを転送できます。
- この
--excludeオプションは何をするものですか? — この--excludeオプションを使用すると、転送中にスキップするファイルやディレクトリを指定できます。 - Rsyncは安全に使用できますか? — はい。ただし、
--deleteのような、転送先からファイルを削除する可能性のあるオプションには注意が必要です。
Docker Security Checklist
Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.