複数のサーバー間でファイルとデータを同期することは、スムーズに機能するために非常に重要です。幸いなことに、ファイル同期用の多くのツールがオンラインで利用でき、Rsync もその 1 つです。 Rsync は、Linux でデータをリモート同期するために最も人気があり、広く使用されているユーティリティの 1 つです。
Rsync には、効率的なファイル転送、ファイルのメタデータの保存、既存のファイルの更新、部分転送などの機能があります。このため、Rsync はほぼすべての管理者にとって理想的な選択肢となります。したがって、このガイドでは、Linux で Rsync コマンドを手間なく使用する方法について説明します。
Linux で Rsync コマンドを使用する方法
ほとんどの Linux ディストリビューションには Rsync ユーティリティが含まれていますが、次のコマンドを使用してインストールする必要があります。
オペレーティング·システム | 指示 |
Debian/Ubuntu | sudo apt install rsync |
フェドーラ | sudo dnf インストール rsync |
Arch Linux | sudo pacman -Sy rsync |
インストールが完了したら、以下のコマンドを実行して、ソースとターゲットの間でデータの同期を開始してください。
rsync -O ソース 目標
ここで、ソースをデータを同期するディレクトリに置き換え、ターゲットをそのデータを保存するディレクトリに置き換える必要があります。 たとえば、次のコマンドを実行して、ビデオとドキュメントのディレクトリを同期してみましょう。
rsync -O 動画 ドキュメント
同じシステム内でデータをコピーして貼り付ける場合は、次のコマンドを使用します。
須藤 rsync -avz / ソース / パス / 目標 / パス /
- 「-a」または「-archive」は、データ転送中にファイル属性をそのまま維持します。
- 「-v」または「-verbose」オプションは、転送されているデータを表示します。
- オプションですが、転送中にデータを圧縮するには「-z」または「-compress」オプションを使用する必要があります。これは、同期プロセスの高速化に役立ちます。
例として、上記の rsync コマンドを使用して、Scripts ディレクトリから Python ディレクトリにファイルを同期してみましょう。
須藤 rsync -avz ~ / スクリプト ~ / パイソンさらに、rsync の主な目的は、ネットワーク経由で接続された 2 つのデバイスまたはサーバー間でデータをリモート転送することです。
rsync -の -それは ssh ユーザー @ リモートホスト: / ソース / パス / / 目標 / パスここで、「-e ssh」オプションは、このトランザクションにセキュア シェル/SSH を使用するようにシステムに命令します。 さらに、リモート ファイル転送中にシステムが中断された場合でも、心配する必要はありません。 「-partial」オプションを使用して再開できます。
rsync - 部分的 -の -それは ssh ユーザー @ リモートホスト: / ソース / パス / / 目標 / パス
ドライラン
Rsync は、コマンドを入力するとすぐにファイル転送を開始します。したがって、予期せぬ結果を避けるために、最初に常にドライランを実行する必要があります。予行演習中、システムは実際のデータ転送を行わずにコマンドのアクションをデモンストレーションするだけです。 したがって、ここで「–dry-run」オプションを追加してドライランを開始できます。たとえば、Python から Scripts ディレクトリへのデータ同期中に何が起こるかを確認するには、次を使用します。
rsync -avz --ドライラン ~ / パイソン〜 / スクリプト
同一のサーバーを作成する
ソース ディレクトリで使用できないファイルがターゲット ディレクトリにある場合、不均一が生じ、場合によっては不必要なディスク消費が発生することもあります。したがって、「-delete」オプションを使用して、ソースに存在しないデータをターゲットから削除できます。例えば:
rsync -の - 消去 / ソース / パス / / 目標 / パス /
転送中に進行状況を表示する
転送の進行状況を確認したい場合は、「-progress」オプションを入力して進行状況インジケーターを表示します。たとえば、進行状況インジケーターを有効にすると、上記の例では次の結果が生成されます。
rsync - avz - 進捗 ~ / パイソン〜 / スクリプト
簡単なまとめ
rsync コマンドをマスターすると、ローカル ホストとリモート ホストの両方にファイルを効率的に転送できるようになります。これは、異なる場所間でデータを同期するための強力なツールです。このガイドでは、Linux での rsync コマンドの使用方法を包括的に説明します。まず、Linux システム上での rsync のインストールを見ていきます。次に、ユースケースに応じて、さまざまな rsync コマンドとメソッドを包括的に示します。