Rsync を使用してローカルとリモートのディレクトリを同期する方法
Rsync を使用してローカルとリモートのディレクトリを同期する方法

サーバーとローカルシステム間のディレクトリの同期 rsync

ファイル同期は、データストレージ、バックアップ、そしてサーバー管理において最も重要な操作の一つです。rsyncツールは、このタスクに最適な強力で柔軟性の高いオプションです。このガイドでは、rsyncを使ってローカルディレクトリとリモートディレクトリ(サーバー上)を同期する方法、バックアップにrsyncを使用する方法、そして転送を自動化する方法を説明します。.
0 株式
0
0
0
0

1. 前提条件

実行するには rsync ローカル システムとリモート サーバーの間では次のものが必要です。

  • 2つのデバイス:1つはローカル(コンピュータ)で、もう1つは Linuxサーバー (VPSまたは専用サーバー)

  • rsync 両方のシステムにインストール

  • 2 つのシステム間の SSH アクセス (パスワードを頻繁に入力せずに通信できます)

  • ファイル内の宛先サーバーのSSH公開鍵 承認されたキー 配置される


2. rsyncの概念と機能(初心者と専門家向けの専門的でわかりやすいバージョン)

rsync Linuxの強力なコマンドラインツールであり、 同期(Sync) そして データ転送 これは、2 つのパスが同じシステム上にあるか、2 つの別々のサーバー上にあるかに関係なく、2 つのパス間で使用されます。.

しかし、なぜ rsync はそんなに人気があるのでしょうか?
そのために ファイル全体を転送するのではなく、変更された部分のみを転送します。.

rsync は具体的にどのように動作するのでしょうか?(シンプルかつ正確な理解)

rsync を実行すると、ツールはまず次の処理を実行します。

  1. 2つのトラックの構造と内容 (例: 宛先フォルダーとソースフォルダー) を比較します。.

  2. 小切手 どのファイルが新しく、どのファイルが変更され、どのファイルが削除または変更されていないのでしょうか?.

  3. ファイル全体を送信する代わりに、 変更されたデータの一部 転送。.

この技術は次のように呼ばれます。

デルタ転送アルゴリズム

このrsyncアルゴリズム 非常に高速かつ効率的 それは、次の理由によります:

  • 消費される帯域幅が削減されます。

  • 転送時間が大幅に短縮されます。

  • サーバーのCPUリソースの負担は少ない


rsyncの機能をよりよく理解するための簡単な例

1GB のファイルがあり、そのうち 5MB だけが変更されたとします。.

  • 一般的なツールとしては、 アイテム番号: SCP-1811 1GB 全部を再アップロードします。.

  • しかし rsync は変更された同じ 5MB のみを送信します。.

これはつまり:

  • より速く

  • インターネットの使用頻度の低下

  • サーバーへの負担が軽減


rsync とサーバー: なぜサーバー管理に最適なツールなのでしょうか?

乗っているとき サーバ または VPS 仕事をする場合、通常は次のものが必要です。

  • 2つのサーバー間でバックアップを移動する

  • 現在のサーバーから新しいサーバーにサイトファイルを移動する

  • 重要なフォルダ (/var/www など) は常に同期された状態にしておいてください。

  • 帯域幅を無駄にすることなく大きなファイルを転送

これらすべてのケースでは、次の理由から rsync が最適な選択となります。

SSHによる安全な転送

rsync は転送に SSH プロトコルを使用するため、次のようになります。

  • データは暗号化されています。

  • 追加のポートを開く必要はありません

  • 通信のセキュリティが保証されます。

保存先にある余分なファイルを削除する

旗付き - 消去 宛先をソースとまったく同じに保つことができます。.

再開機能

転送中にインターネット接続が切断された場合、rsync は最初からではなく、残りのファイルを転送します。.

自動化に適しています

これは cronjobs に簡単に適合し、自動化されたバックアップ プロセスを作成します。.


理解を深めるための実際の例:

次のパスをサーバー A からサーバー B に同期する場合:

rsync -avz /var/www/ user@server-ip:/var/www/

このコマンド:

  • フォルダの変更のみ /var/www 転送

  • 送信先で更新します。

  • SSH による安全な送信を保証します


rsync を初めて使う人のための簡単な要約:

特徴説明
主な用途データ転送とフォルダ同期
主な利点ファイル全体ではなく、変更のみが転送されます。
安全安全な転送のためにSSHを使用する
高速デルタ転送アルゴリズムのため
プロフェッショナルでサーバーフレンドリーVPS間のバックアップと移行に最適なツール

3. 基本的なrsync構文

一般的な構造 rsync 他のファイルツールと同様に アイテム番号: SCP-1811 は:

rsync [OPTIONS] منبع مقصد

簡単なローカルの例:

  • ローカルシステムに2つのテストフォルダを作成します

  • 実装:

    rsync -a dir1/ dir2

    この場合、コンテンツのみ ディレクトリ1ディレクトリ2 フォルダ自体ではなく、それが移動されます。.

オプション -あ (アーカイブ) が推奨される理由:

  • ディレクトリを再帰的に同期します

  • ファイルの所有権、変更時間、権限を保持します

重要: ソース パスの末尾に「/」を付けると、ディレクトリの内容のみが同期されます。付けない場合は、元のフォルダー自体が転送されます。.


4. セキュアプレビューを実行する --ドライラン

機密性の高い操作を実行する前に(特に、 - 消去 使用するアプリケーションが決まったら、まずはリハーサルをするのがベストです。

rsync -anv --delete /مسیر/منبع/ /مسیر/مقصد/
  • オプション -n または --ドライラン 変更を加えずに操作をシミュレートします

  • -v (詳細) 同期または削除されるファイルの詳細な出力を提供します。

このプレビューにより、ファイルを削除する前に何が起こるかを正確に把握し、危険な間違いを回避できます。.


Rsyncを使用してローカルディレクトリとリモートディレクトリを同期する方法
Rsyncを使用してローカルディレクトリとリモートディレクトリを同期する方法

5. ローカルシステムとサーバー間でファイルをプッシュおよびプルする

サーバーに送信(プッシュ)

ローカル ディレクトリをサーバーに同期するには:

rsync -a ~/local-dir/ user@remote-server:/remote/path/
  • -あ: ファイル属性を保持する

  • ~/ローカルディレクトリ/: ローカルルート

  • ユーザー@リモートサーバー: ユーザーとサーバーのアドレス

  • :/リモート/パス/: サーバー上のパス

ソースの末尾に「/」がある場合は、フォルダーの内容のみが送信されます。それ以外の場合は、フォルダー自体も転送されます。.

サーバーから受信(プル)

逆操作: サーバーからローカル システムへの同期:

rsync -a user@remote-server:/remote/path/ ~/local-dir/

繰り返しになりますが、ソース パス (ここではサーバー パス) のスラッシュによって同期の動作が決定されるため、この点に注意することが重要です。.


6. 詳細オプション rsync

  • -z: 送信時にデータを圧縮してネットワーク使用量を削減します

  • -P: の組み合わせ - 進捗 そして - 部分的 転送の進行状況を表示し、未完了の転送を続行できるようにします

例:

rsync -azP ~/local/dir/ user@remote:/remote/dir/
  • - 消去: 宛先に存在するがソースには存在しないファイルを削除します(ミラーリングに適しています)

  • --除外 そして - 含む: より正確な操作のためにファイル/フォルダをフィルタリングします

  • - バックアップ そして --バックアップディレクトリ: 削除されたファイルのバックアップを別のパスに作成する


7. Cronで同期をスケジュールする

定期的な同期を実行するには、 rsyncクローン スケジュール:

  • crontab を編集します:

    crontab -e
  • 同期のための毎日の cronjob の例:

    0 3 * * * /usr/bin/rsync -a --delete /var/www/html/ user@remote:/backups/html/

    このコマンドは毎日午前 3 時に実行され、ローカル ディレクトリをサーバー バージョンと同期します。.

cronジョブに関する重要な推奨事項:

  • 絶対パスから rsync ディレクトリを使用する

  • パスワードなしのSSHキーログインの設定

  • cron出力をログファイルに保存するか、エラーを処理する


8. よくある問題のトラブルシューティングとベストプラクティス

使用時によくある問題 rsync そしてその解決策:

  • ソース/宛先パスのエラー: の使用 --ドライラン 詳細なレビューについては

  • 不要なファイルの削除: 絶対に確信がある場合にのみ - 消去 使ってみましょう

  • 権限エラー: と -あ 所有権と権限を維持します。

  • 自動化の問題: フルパスとパスワードレスSSH認証を使用する


結論

rsync ローカルマシンとサーバー間のデータ同期に最適な、非常に強力で最適化されたツールです。デルタ転送アルゴリズムにより、このツールは低消費電力、安全、そして高精度なバックアップ、データ転送、ミラー環境の構築を実現します。高度なオプションを使用して、以下の点を試してみてください。 --ドライラン スケジュール クローン同期プロセスを最適化、保護、自動化できます。.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あなたも気に入るかもしれない