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つあることに注意してください 最終結果が変わります。
リモートホストへの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を使用してファイルをバックアップする