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


42

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

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

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

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

回答:


51

よさそうだ。なぜ-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/

3
それは、manページの中で言うように--dry-runフラグ最も一般的に関連して使用される--verboseフラグ
ベンジャミンLeinweber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.