Rsyncファイルのリストが遅い - テスト実行が含まれています

Rsyncファイルのリストが遅い - テスト実行が含まれています

私はしばらくrsync(v3.0.6)を介してサーバーをバックアップしてきました。デルタファイルのリストを取得するのに約20分かかりました(フルファイルフラグを使用していました)。 3つのファイルを除外したが、そのファイルを取り出すと、同期が開始されるのに1秒しかかかりません。ファイルは319個のみです(スキップされたディレクトリを含む場合は689個)。どんなアイデアや考えがありますか?パターンマッチングが遅すぎてはいけませんか?

rsync -vvnWr --exclude='aaa.tar.gz' --exclude='bbb.tar.gz' -exclude='ccc.tar.gz' --include='*.tar.gz' --exclude='*' --delete -e "ssh -p 34577 -i /root/.ssh/backup_rsa" [email protected]:/backup/cpbackup/daily/ /backup/jarvis/cpanel/$((($(date +\%-d)-1)/7+1))/*

サンプル出力

[sender] showing file ddd.tar.gz because of pattern *.tar.gz
[sender] showing file eee.tar.gz because of pattern *.tar.gz
[sender] hiding directory fff.0 because of pattern *
[sender] showing file ggg.tar.gz because of pattern *.tar.gz
...

出力は例外なく私たちの出力と同じです。明らかに私がリストした出力をスキップします。除外すると、各項目間で長い一時停止が発生します。 IPとファイル名を変更しました。

ありがとうございます!

答え1

寝るべきだと思いました。除外項目にハイフンがありません。構文エラーを引き起こすことなく追加の引数として読み取る必要があり、-cチェックサムフラグが遅くなる原因になる可能性があります。

読んでくれた皆さんに感謝します!

答え2

rsync遅すぎる主な理由は、提供する必要があるほとんどの最適化を無効にしたためです。実行するたびに、含まれているすべてのファイルがコピーされる手順に近づいてきました。

なぜ?変更を--whole-file許可するのではなく強制します。また、タイムスタンプをrsync使用またはコピーしないため、チェックサムが一致することを確認するには、ローカルおよびリモートシステムのすべてのファイルを読み取る必要があります。-t-arsync

この試み

rsync --dry-run -vvtr \
    --exclude='aaa.tar.gz' --exclude='bbb.tar.gz' -exclude='ccc.tar.gz' --include='*.tar.gz' --exclude='*' \
    --delete --delete-during \
    -e "ssh -p 34577 -i /root/.ssh/backup_rsa" \
        [email protected]:/backup/cpbackup/daily/ \
        /backup/jarvis/cpanel/$((($(date +\%-d)-1)/7+1))/

関連情報