web-dev-qa-db-ja.com

変更されたファイルをコピーするrsync

一部のファイルを特定のディレクトリから毎日別の場所にコピーする必要があります。変更のみをコピーしたいので、rsyncを使用する予定です。これらのファイルは、次の命名規則に従いますmysql-bin.*

私のコマンドは次のようになります

# rsync --update -raz --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

私の混乱は、ディレクトリの内容全体ではなく、ディレクトリからいくつかのファイルのみをコピーすることを計画しているため、*必要なファイルのみをコピーします。私のコマンドが同じことを達成するために正しいかどうか知りたいだけです。

42
Zama Ques

よさそうです。なぜ-zオプションを使用して転送を圧縮するのですか?このオプションは通常、低速のネットワークを介してリモートrsyncサーバーにコピーするときに使用されます。このインスタンスでは、ファイルを圧縮して即座に解凍しますが、CPU使用率が増加するだけでメリットはありません。

-a(アーカイブ)オプションは-r(再帰的)オプションを暗黙指定するため、コマンドラインで明示的に指定する必要はありません。

-nオプション(または--dry-run)を使用して、コマンドを確認できます。実際にファイルをコピーせずに何が行われるかを示します。実際に何が起こるかを確認するには、-vオプション(または--verbose)も使用する必要があります。

したがって:

rsync -uanv /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/

そして、ファイルがドライランに正しくリストされていることに満足したら、nvを削除します。

rsync -ua --progress /var/lib/mysql/mysql-bin.*  /dbdata/binarylog/
51
garethTheRed