{category}

Linux - ファイル転送

rsync

アールシンク(ネットワーク

意味 効率的なファイル同期ツール


rsyncとは?

rsyncは、ファイルやディレクトリを効率的に同期させるためのLinuxコマンドです。ネットワーク経由でファイルを転送する際に、変更があった部分のみを送信することで、高速な同期を実現します。

rsyncの具体的な使い方

ローカルディレクトリの同期

$ rsync -av /source/directory/ /destination/directory/

👇出力結果

sending incremental file list
./
file1.txt
file2.txt
subdir/
subdir/file3.txt

sent 1,234 bytes  received 85 bytes  2,638.00 bytes/sec
total size is 10,000  speedup is 7.58

ローカルの2つのディレクトリ間でファイルを同期します。-aはアーカイブモード、-vは詳細出力を意味します。

リモートサーバーとの同期

$ rsync -avz -e ssh /local/directory/ user@remote:/remote/directory/

👇出力結果

sending incremental file list
./
file1.txt
file2.txt
subdir/
subdir/file3.txt

sent 2,345 bytes  received 48 bytes  478.60 bytes/sec
total size is 20,000  speedup is 8.33

ローカルディレクトリの内容をリモートサーバーのディレクトリに同期します。-zは転送データの圧縮を行います。

特定のファイルを除外して同期

$ rsync -av --exclude='*.log' --exclude='temp/' /source/ /destination/

👇出力結果

sending incremental file list
./
file1.txt
file2.txt
subdir/
subdir/file3.txt

sent 1,567 bytes  received 76 bytes  3,286.00 bytes/sec
total size is 15,000  speedup is 9.13

--excludeオプションを使用して、.logファイルとtempディレクトリを同期から除外します。

rsyncに関するよくある質問

Q. rsyncとscpの違いは?
A. rsyncはより効率的なファイル転送を提供します。変更された部分のみを転送し、中断した転送を再開できます。また、ローカルコピーにも使用できます。scpは単純なファイルコピーツールで、SSHプロトコルを使用しますが、差分転送や再開機能はありません。
Q. rsyncで特定のファイルを除外するには?
A. --excludeオプションを使用して、特定のファイルやディレクトリを同期から除外できます。例: rsync -avz --exclude='*.tmp' /source/ /destination/ この例では、.tmp拡張子を持つファイルが同期から除外されます。
Q. rsyncのドライランとは?
A. -nまたは--dry-runオプションを使用すると、実際にファイルを転送せずに、何が転送されるかをシミュレーションできます。これは、大規模な同期を行う前に結果を確認するのに便利です。例: rsync -avzn /source/ /destination/

rsyncが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのrsyncやroute、netcat、dig、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

route

ネットワークルーティングテーブル管理

種類: ネットワーク設定

netcat

ネットワーク接続のテスト

種類: ネットワーク診断

dig

DNSの詳細情報を取得

種類: ネットワーク診断

mkswap

スワップ領域作成

種類: ディスク管理

parted

高度なディスクパーティション管理

種類: ディスク管理