管理者であっても通常のユーザーであっても、ファイルの定期的なバックアップを作成したり、複数のシステム間でファイルを同期したりする必要がある可能性が高くなります。このタスクで毎回すべてのファイルを上書きする必要がある場合、時間がかかり、面倒になります。ここで、Linux Rsync to Remote Server ツールが役に立ちます。このガイドでは、最も便利な Rsync コマンドについて説明し、その高速で安全な機能を使用できるようにします。
Rsync ユーティリティとは何ですか?
リモート同期 (Rsync) は、リモート アクセスまたはローカルでファイルとディレクトリをコピーおよび同期するために使用できるよく知られた Linux/Unix コマンドです。 Rsync コマンドを使用すると、同期、コピー、バックアップの取得など、さまざまなデータ関連タスクを実行できます。さらに、Linux システムを別のシステムにミラーリングすることもできます。
リモート サーバーに対して Rsync を使用する主なアイデアは、その高速なファイル転送を利用することです。 2 つのソース間でデータを変換する場合、それらの違いのみが考慮されます。言い換えれば、Rsync コマンドを使用すると、2 つの Linux システム間の違いのみが考慮されるため、ブラインド データ転送による時間のロスを避けることができます。
Rsync を使用する理由
すでにご存知かもしれませんが、さまざまなバックアップ ツールを利用できます。問題は、他のユーティリティやコマンドと比較して、Rsync ツールがユニークなのは何でしょうか?
たとえば、次のように使用できます ファイル転送プロトコル (FTP) Web サイトのローカル コピーを作成するか、 SCP (セキュアコピープロトコル) このタスクのために。ただし、これら 2 つは両方とも欠点があります。 FTP にはデータ暗号化が含まれていませんが、これは私たちが望んでいることではありません。また、SCP には FTP のような暗号化されていない転送の問題はありませんが、転送にトンネルを作成するため、転送にはさらに時間がかかります。
したがって、これらの問題の代替解決策として、キーベースの暗号化 (単に Rsync SSH または Rsync over SSH と呼ばれます) を使用してリモートサーバーに Rsync を使用することができます。これにより、重複したデータの送信を防ぎ、SSH キーを利用できます。また、Rsync はデータの送受信に圧縮と解凍を使用するため、帯域幅の使用量が削減されることにも注意してください。
Rsyncをインストールするにはどうすればよいですか?
おそらく、すでにシステムに Rsync がインストールされているでしょう。それでも、詳しく見てみましょう。これを行う前に、SSH 経由で Rsync を使用するため、ソース システムと宛先システムの両方に SSH がすでにインストールされている必要があることに注意してください。
ステップ 1: SSH バージョンの確認
次のコマンドを使用して SSH のバージョンを確認できます。
ssh -V
リモート サーバーに Rsync するには、ローカル サーバー (ソースとも呼ばれます) とリモート サーバーが必要です。また、ローカル サーバーに管理者権限 (sudo) があることを確認する必要があります。
ステップ 2: Rsync Linux のインストール
次のコマンドを使用すると、Ubuntu、Linux Mint、および Debian に Rsync をインストールできるようになります。
sudo apt install rsync -y
Fedora、CentOS、AlmaLinux、Red Hat などの他の Linux ディストリビューションを使用している場合は、次のコマンドを入力して、システムにリモート サーバー サービスへの Rsync をインストールします。
sudo dnf install rsync
注: apt は、Debian ベースのディストリビューションで使用される便利なパッケージ インストール ツールです。
ステップ 3: Rsync の開始
次のコマンドで Rsync を起動して有効にし、Rsync の使用を開始する必要があります。
sudo systemctl start rsync
sudo systemctl enable rsync
ステップ 4: Rsync インストールの確認
次のコマンドを入力して、Rsync が正しくインストールされているかどうかを確認し、Linux システムで使用しているバージョンを確認します。
rsync --version
次のセクションでは、このツールの機能を使用してキーベースの認証を介してバックアップを作成する方法について説明します。
SSH 経由で Rsync を使用してバックアップを作成するにはどうすればよいですか?
増分バックアップの作成は、SSH 経由の Rsync の使用例の 1 つです。どのように機能するかを理解するには、次のコマンドに注目してください。
rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir
上記のコマンドを実行すると同期が容易になります ソースディレクトリ そして 宛先ディレクトリ。このコマンドには、次のような、よく知っておく必要がある他のオプションが含まれています。 -a (アーカイブ) そして -v (冗長)。ご了承ください -e ssh オプションでは、Rsync 接続が SSH プロトコル経由であることが要求されます。
ご希望の場合は、 SSH接続 デフォルト (ポート 22) 以外のポートで受け入れられるようにするには、後にポート番号を指定する必要があります。 -e ssh。 どのように機能するかを理解するには、次のコマンドを見てください。
rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir
上記のコマンドでは、SSH ポートとして 22 ではなく 1998 を使用すると仮定しています。
SSH を介したリモート サーバーへの Rsync には、非常に役立つその他のオプションがあります。たとえば、 -部分的 このオプションを使用すると、Rsync の中断などの問題が発生した場合に、以前の部分転送を続行できます。また、現在のファイル転送の進行状況を知ることもできます。 -進捗 オプション。さらに、Linux Rsync to Remote Server ユーティリティを使用すると、これら 2 つの機能を同時に使用できるようになります。これを行うには、 -p コマンドラインのフラグ。
rsync -avP -e ssh /sourceDir/ user@remote:/path/to/destinationDir
キーコマンドを使用してリモートサーバーに Rsync を実行すると、データを宛先に転送する前にデータを圧縮できます。圧縮を完了するために CPU を使用しますが、ファイル転送が高速になり、必要な帯域幅の使用量が少なくなるため、非常に役立ちます。
Rsync コマンドを使用して、リモートまたはローカルのファイルとディレクトリをコピーできます。 Rsync の主な利点は、 デルタ転送アルゴリズムこれにより、複製されたデータがソースから宛先にコピーされるのを防ぎます。前に説明したように、リモート サーバー ユーティリティへの Rsync のこの機能は、毎日のバックアップやシステム ミラーリングを処理する場合に役立ちます。これを念頭に置いて、ローカルのユースケースに Rsync コマンドを使用してみましょう。
ローカル同期に Rsync を使用する方法?
ローカル同期とそのための Rsync コマンドの使用方法について詳しく説明する前に、以下に示すローカル Rsync の一般的な構造を理解しておく必要があります。
rsync [options] [Source] [Destination]
ファイルをローカルにコピーする
デスクトップ ディレクトリ (と呼ばれる) からファイルを同期またはコピーするとします。 Cloudzy) に /ホーム/パブリック フォルダ;入力する必要があるものは次のとおりです。
rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public
上記の Rsync コマンドには、次の 3 つのオプションが含まれています。 -zvh;を使用して -z、転送中にファイルが圧縮されます。 v オプション は冗長出力を表し、 hオプション これは、人間として出力を読み取る、つまり人間が読める出力を表示できるようにするために役立ちます。
ディレクトリをローカルにコピーする
デスクトップディレクトリ(と呼ばれる)をコピーしたい場合は、 Cloudzy) に /ホーム/パブリック フォルダ;以下のコマンドを入力する必要があります。
rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public
の -a このコマンドのオプションは、同期中にディレクトリとファイルをアーカイブします。
宛先フォルダーのディレクトリのリストをすぐに確認して、ディレクトリがコピーされたかどうかを確認できます。これを行うには、次のコマンドを使用します。
ls -ld /home/Public
ファイルとディレクトリを再帰的およびローカルに同期する (再帰 Rsync)
ディレクトリ内に複数のディレクトリとファイルがあった場合はどうなるでしょうか。 /デスクトップ/Cloudzyで、Linux Rsync コマンドを使用してそれらを再帰的にコピーしたいと思いましたか?
この場合、使用するのは、 -r オプション ローカルのファイルとディレクトリを再帰的に同期します。を使用することもできます。 アーカイブオプション (-a) 再帰コピーなどの他の使用例もあるためです。 Rsync 再帰コマンドについて理解するには、次のコマンドを参照してください。
rsync -zrvh /desktop/Cloudzy /home/Public
Or
rsync -zrvh /desktop/Cloudzy /home/Public
ローカル システムからリモートへのディレクトリとファイルのコピー
前のセクションで説明したリモート サーバーへの Linux Rsync の特性とは別に、このよく知られたコマンドを使用すると、ローカル マシンからリモート システムにファイルとディレクトリを同期することもできます。
フォルダーをコピーするとします。 (/デスクトップ/Cloudzy/newfolder) ローカルマシンからリモートシステムへ (192.168.1.79を使用) 下 /mycpt;これがどのように機能するかを示す例を次に示します。
rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt
Rsyncを使用してファイルなしでディレクトリをコピーするにはどうすればよいですか?
場合によっては、ファイルなしでディレクトリをコピーするために Linux Rsync のリモート サーバー機能を使用したい場合があります。この同期は、リモート マシンからローカル システムへ、またはその逆で行うことができます。
この記事では、リモート システムを使用しています。 192.168.1.79. それが以下にあるとします /mycpt フォルダをコピーしたい /デスクトップ/Cloudzy ファイルを含めずにローカル システムからディレクトリを取得します。これを行うには、以下のコマンドを入力してください。
rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/
その他の便利な Rsync コマンド
ここでは、実用的な追加の Linux Rsync コマンドについて説明します。
Rsync でのファイル転送の最大サイズを決定する
Rsync コマンドを使用してファイル転送の制限サイズを決定できます。これは、帯域幅と時間が考慮すべき重要な要素であるリモート サーバーおよびローカル マシンに対して Rsync を定期的に実行する場合に役立ちます。 Rsync ファイル転送のサイズ制限の設定に慣れるために、次のコマンドに注意してください。
rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public
Rsync でのファイル転送の最小サイズを決定する
ファイル転送の最大サイズを設定するのと同じように、Rsync によってリモート サーバー ツールに転送するファイルの最小サイズを決定できます。以下のコマンドでは、最小ファイル サイズを 10k に設定します。
rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public
同期の完了後にソースからファイルを削除する
Rsync コマンドの使用が完了すると、ソース システムにファイルを置く必要がなくなる場合があります。この場合、以下のように Linux Rsync コマンドを使用して、ソースからファイルを削除できます。
rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
ドライラン同期
Linux Rsync ユーティリティを初めて使用し、そのオプションに慣れていない場合は、 予行演習 が適切な方法です。 Rsync でドライ ランを使用すると、ファイルは変更されませんが、コマンドの出力が表示されます。コマンドを実行することを確認したら、 –ドライラン そこからオプションを選択してターミナル上で実行します。ドライ ラン機能の詳細については、次のコマンドを参照してください。
rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public
要約: Linux Rsync コマンドの使用
この記事では、Linux のリモート サーバーへの Rsync (およびローカル サーバーへの Rsync) 機能をさまざまなユースケースに使用する方法について説明しました。 システムミラーリング、効率的なアプローチを使用して、ファイルのバックアップを作成し、ローカルおよびリモートでファイルとディレクトリをコピーします。このよく知られた Linux コマンドを使用すると、SSH とデータ圧縮を使用できると同時に、高速ファイル転送の恩恵を受けることができます。
Web サイトやリモート デスクトップをホストするためのエコノミーまたはプレミアム Linux VPS を最安価格で入手しましょう。 VPS Linux KVM で実行して効率を向上させ、NVMe SSD ストレージを備えた強力なハードウェアで動作して速度を向上させます。
続きを読むこのオペレーティング システムを最大限に活用するには、 Linux VPS Cloudzy のソリューションを利用すると、KVM ベースのホスティング プランの恩恵を受けることができます。当社は、99.95% の稼働率、安定性、最小限の遅延、世界各地のデータセンター (12 か所)、超高速 SSD ストレージ、24 時間年中無休の技術サポートを備えた高性能 VPS サービスを誇りを持って提供します。 4.95 ドルで Linux VPS の使用を開始し、より高度なソリューションが必要な場合は拡張することができます。
よくある質問
Rsync はどの TCP ポートを使用しますか?
SSH は通常、デフォルト ポートとしてポート 22 を使用します。したがって、SSH 経由で rsync を利用する場合、この特定のポートで機能します。一方、Rsync デーモンを使用する場合は、ポート 873 が使用されます。
Rsyncとは何ですか?
Rsync は、ファイルとディレクトリをリモートまたはローカルで同期できる Linux ユーティリティです。 Rsync コマンドを使用すると、同期、コピー、バックアップの取得など、さまざまなデータ関連タスクを実行できます。