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

LinuxでRsyncを使用して新しいファイルまたは変更/変更されたファイルを同期する方法

システム管理者またはLinuxパワーユーザーとして、ユーザーがローカルおよびリモートでファイルを迅速にコピーまたは同期できる多用途のLinux Rsyncツールを使用したことがあるか、場合によっては何度か使用したことがあるかもしれません。また、バックアップ操作やミラーリングに広く使用されている優れたツールでもあります。

その卓越した機能と利点のいくつかは次のとおりです。ローカルで、リモートシェルまたはリモートrsyncとの間でコピーできるという点で非常に用途が広く、非常に柔軟性があり、ユーザーはコピーするファイルをいくつでも指定できます。

推奨される読み物: LinuxでのRsyncコマンドの10の実用例

さらに、リンク、デバイス、ファイルまたはディレクトリの所有者、グループ、およびアクセス許可のコピーを許可します。また、root権限なしでの使用と、さらに多くの機能を組み合わせて使用​​することもできます。

Linuxの他のファイルコピーコマンドと比較したrsyncの必須の違いの1つは、ファイル間またはディレクトリコンテンツ間の違いのみを転送するためのremote-updateプロトコルの使用です。

したがって、この記事では、Linuxでバックアップを作成する際に、rsyncが新しいファイルまたは変更されたファイルまたはディレクトリコンテンツのみを同期するのにどのように役立つかを調べます。

まず、rsyncを使用する従来の最も単純な形式は次のとおりであることを覚えておく必要があります。

# rsync options source destination 

そうは言っても、上記の概念が実際にどのように機能するかを明らかにするために、いくつかの例を掘り下げてみましょう。

Rsyncを使用してローカルでファイルを同期する

以下のコマンドを使用して、ドキュメントからファイルをコピーできるようにします / tmp / documentへのディレクトリ ローカルのディレクトリ:

$ rsync -av Documents/* /tmp/documents

上記のコマンドでは、オプション:

  1. -a –アーカイブモードを意味します
  2. -v –冗長を意味し、進行中の操作の詳細を示します

デフォルトでは、 rsync ドキュメントに新しいファイルを追加すると、新しいファイルまたは変更されたファイルのみがソースから宛先にコピーされます ディレクトリの場合、これは同じコマンドを2回実行した後に発生することです:

$ rsync -av Documents/* /tmp/documents

コマンドの出力からわかるように、新しいファイルのみが宛先ディレクトリにコピーされます。

推奨される読み物: Rsyncを使用して2つのApacheWebサーバー/Webサイトを同期する方法

--update または-u オプションはrsyncを許可します 宛先ディレクトリでまだ新しいファイルをスキップするには、重要なオプションの1つである--dry-run または-n 変更を加えずにテスト操作を実行できます。コピーするファイルが表示されます。

$ rsync -aunv Documents/* /tmp/documents

テスト実行を実行した後、-nを廃止できます。 実際の操作を実行します:

$ rsync -auv Documents/* /tmp/documents

ローカルからリモートのLinuxへのファイルの同期

以下の例では、ローカルマシンからIPアドレスが 10.42.1.5のリモートサーバーにファイルをコピーしています。 。リモートマシンには存在しない、ローカルマシン上の新しいファイルのみを同期するために、--ignore-existingを含めることができます。 オプション:

$ rsync -av --ignore-existing Documents/* [email protected]:~/all/

その後、ローカルマシンで変更されたリモートマシン上の更新または変更されたファイルのみを同期するには、次のようにファイルをコピーする前にドライランを実行できます。

$ rsync -av --dry-run --update Documents/* [email protected]:~/all/
$ rsync -av --update Documents/* [email protected]:~/all/

既存のファイルを更新し、宛先に新しいファイルが作成されないようにするために、--existingを利用します オプション。

man rsyncを実行できます 先に述べたように、 rsync で、高度な使用法のための追加の便利なオプションを見つけるためのページ は非常に強力で用途の広いLinuxツールであり、多くのシステム管理者とLinuxパワーユーザーはそれがどれほど有利かを知っています。

最も重要なことは、ここで取り上げた例についての見解を共有することもできます。さらに良いことに、この重要なコマンドラインツールを使用するための貴重なヒントを以下のコメントセクションから提供してください。


Linux
  1. LinuxでNetcatを使用してファイルを転送する方法

  2. LinuxでRsyncコマンドを使用するにはどうすればよいですか?

  3. Linux で FTP を使用してファイルを転送する方法

  1. 大規模なLinuxバックアップに高度なrsyncを使用する方法

  2. Linuxで最近または今日変更されたファイルを見つける方法

  3. Linux Rsync(リモート同期)コマンドの使用方法

  1. Linuxで過去30日間に変更されたファイルを見つける方法は?

  2. Linux の find コマンドを使用してファイルを検索する方法

  3. Linux で rpm2cpio コマンドを使用する方法