RsyncはLinuxの重要なコマンドであり、ローカルサーバーとリモートサーバー内のファイルとディレクトリを同期またはコピーするために使用されます。これは、高速で非常に用途の広いファイルコピーツールです。このコマンドの重要な機能の1つは、「 デルタ転送アルゴリズム(DTA)」です。 。つまり、ファイル全体またはディレクトリ全体をコピーするのではなく、ソースから宛先に変更をコピーするだけです。これにより、ネットワークを介して送信されるデータの量も削減されます。日常的に、人々はこのコマンドを毎日のバックアップ、復元、ミラーリングに使用しています。
この記事では、 RSYNCの使用について説明します。 さまざまな方法でコマンドを実行します。
- ファイルをローカルにコピー/同期
ファイル「abc.txt」をある場所からetcフォルダーにコピーするとします。
#rsync -zvh abc.txt /etc
- ディレクトリをローカルにコピー/同期
ディレクトリ「testdir」を「etc」フォルダにコピーまたは同期したいとします
#rsync -zavh testdir /etc
- ファイルとディレクトリをローカルで再帰的にコピーする
ユーザーAのホームディレクトリ内に複数のファイルとディレクトリがあると仮定します。以下のコマンドを使用してファイルとディレクトリを再帰的にコピーします。-aまたは-rオプションを使用して、ファイルとディレクトリを再帰的にコピーします。
#rsync -zrvh file2.txt testdir11 /etc
「lsコマンド」を使用して、これらのファイルとディレクトリを確認できます。 - ローカルシステムからリモートシステムにファイルとディレクトリをコピーまたは同期するファイル「/etc/abc.txt」をローカルマシンからリモートマシンにコピーするとします
#rsync -zarvh /etc/abc.txt [email protected]***.***.72
- リモートマシンからローカルシステムにファイルとディレクトリをコピーまたは同期します
リモートマシンからローカルシステムにファイルとディレクトリをコピーするとします。次の例では、ローカルマシンの/etcフォルダにあるリモートファイル「newfile.txt」をコピーしています
#rsync -zarvh [email protected]***.***.72 /etc
- rsyncコマンド出力に同期の進行状況を表示する
rsyncコマンドで同期またはコピーの進行状況を確認する場合は、「–progress」を使用します。
#rsync -avh --progress [email protected]_address:/opt/rpms_db /tmp
- ソースにファイルが存在しない場合は、宛先のファイルを削除します
すでにソースから宛先にファイルを同期していて、ソースからファイルを削除した場合は、–deleteオプションを使用してrsyncコマンドで宛先のファイルを強制的に削除できます。例を以下に示します。
#rsync -avz --delete /opt/rpms_db [email protected]_address:/tmp/rpms_db
- ファイル転送サイズに制限を設ける
rsyncを使用して大きなファイルを転送またはコピーしたくない場合は、転送したくない場合に備えて、オプション「–max-size={specify-size-here}」を使用します。 1024Kを超えるファイルの場合、次のコマンドに従ってこれを実行できます。注:mbには記号Mを使用し、GBには記号Gを使用します。
#rsync -avz --max-size='500K' /opt/rpms_db [email protected]_address:/tmp