GNU/Linux >> Linux の 問題 >  >> Linux

rsyncを使用してファイルを同期する

rsyncを使用してファイルを同期する

この記事の目的は、 rsyncの使用方法を理解することです。 ツール。

Rsyncは「リモート同期」の略で、ファイルまたはディレクトリをローカルまたはリモートでコピーおよび同期するための効率的なツールです。すべてを再度コピーするのではなく、変更されたファイルの部分のみを移動することで、効率が向上します。

使用法 構文

rsync 構文は本当に単純です:

rsync[OPTIONS]ソースの宛先

オプション

以下は、 rsyncに追加する最も便利なオプションの一部です。 コマンド:

  • -v または--verbose :冗長フラグは、タスクの進行状況に関する情報を表示します。
  • -a または--archive :-rlptgoDに等しい。アーカイブフラグは、個別に設定するのではなく、最も一般的なオプションを設定します。

以下は、 -aで設定されたオプションです。 1つずつ設定することもできます:

  • -r または--recursive :ディレクトリに戻ります。ディレクトリ内のすべてのコンテンツをコピーする必要がある場合に使用する必要があります。
  • -l <​​/ code> または--links :シンボリックリンクをシンボリックリンクとしてコピーします。他のディレクトリへのループバックを回避するために、シンボリックリンクが指すファイルをコピーしません。
  • -p または--perms :ファイルの権限を保持します。
  • -t または--times :元の変更タイムスタンプを保持します。
  • -g または--group :ファイルのグループ所有権を保持します。
  • -o または--owner :ファイルの所有者を保持します。
  • -D :デバイスファイルと特殊ファイルを保持します。オプション--devicesを使用できます および--specials これを達成するために。

使用できるその他のオプションは次のとおりです。

  • -進捗状況 :ファイルごとの進行状況を表示します。
  • -max-size =SIZE :指定されたサイズより大きいファイルの転送を回避します。
  • -min-size =SIZE :指定されたサイズよりも小さいファイルの転送を回避します。
送信元パスと宛先パス

スラッシュは動作を変える可能性があるため、ソースパスと宛先パスがどのように指定されているかを考慮することが重要です。

たとえば、 / homeで呼び出されるディレクトリ内のすべてをコピーします。 / new / destination /と呼ばれる別のものに 正しいrsync 構文は次のようになります:

rsync -a /home/ /new/destination

homeという名前の新しいフォルダになるようにディレクトリをコピーします 構文も宛先ディレクトリに作成されます:

rsync -a /home /new/destination

/ homeの後にスラッシュが1つあることに注意してください 最終結果が変わります。

リモートホストでのrsyncの使用

リモートホストへのSSHアクセスがある場合、 rsyncを使用できます。 非常によく似た構文です。 / homeからコンテンツをコピーするには / home / newへのディレクトリ REMOTE_HOSTというホストのディレクトリ プッシュ 操作が必要です。構文は次のようになります:

rsync -a /home USER@REMOTE_HOST:/home/new

rsync を使用して、リモートホストからローカルマシンにファイルを取得することができます。 プルで 手術。構文は上記と似ていますが、リモートホストがソースになります:

rsync -a USER@REMOTE_HOST:/home/new /home
結論

rsyncの使用 ツールは、ディレクトリまたはホスト間でファイルを同期するための信頼性の高い効率的な方法です。従来のコピーコマンドは、すべてのファイルのプロパティを保持するわけではなく、すべてをコピーするため、より長い時間がかかります。

この記事に記載されているオプションを使用すると、コピーする必要のあるプロパティと rsyncを決定することができます。 アルゴリズムは、送信元と宛先の両方の違いのみをコピーすることにより、タスク時間を短縮します。

関連記事
  • SCPとRsyncを使用してファイルをコピーする
  • rsyncを使用してファイルをバックアップする

Linux
  1. Rsyncを選択的に消音する方法は?

  2. rsyncを使用してファイルをバックアップします

  3. exclude-from を使用して複数のファイルとディレクトリを除外する 6 つの rsync の例

  1. 特定のファイルを除外しながらrsyncを使用してディレクトリを再帰的にコピーする方法

  2. include オプションを使用して特定のタイプのファイルのみを rsync コピーする

  3. cp -r 隠しファイルなし

  1. Linuxはロボコピーに相当しますか?

  2. rsync ディレクトリ内の N 個の最新ファイル

  3. 一部のファイルのみを含めるために正規表現を使用して rsync