rsync を使用して大きなサイズのディレクトリを移動する

rsync を使用して大きなサイズのディレクトリを移動する

バックアップのために、SAN(オフボード)にマウントされているLinux o/saディレクトリを外部ストレージに移動する予定です。ディレクトリのサイズは です14TB

rsync を使用してファイルを移動した経験はありますが、今のような大きなサイズのディレクトリ/ファイルでこれを行ったことはありません。

ディレクトリは年/月/日/時間の階層で配置され、分析用の生のログをサポートします。

問題

上記のとおり、リソース制限のため、14TB 全体を外部/バックアップ ストレージ スペースに移動することはできません。現在、バックアップ スペースは最大 8 TB です。rsync に、指定されたサイズ (つまり TB のみ) のファイルのみをコピーするように指示できるコマンドまたはスイッチ/パラメーターはありますか。

注記 ファイルの性質についてはあまり気にしませんが、特定のサイズを超えるデータは移動したくないのです。

答え1

制限を設けて、一定量のバイトをコピーした時点でrsyncを停止させることはできません。通常通り実行できます。

rsync -a /src/ /dest 

/destがいっぱいになるとエラーで止まってしまいます

 rsync: write failed on "...": No space left on device (28)

スクリプトを使って何かできるかもしれない

find /src -printf "%p %s\n" >filelist_size

次に、awk などを使用して読み取り、ファイル サイズの合計がしきい値を下回る場合にfilelist_sizeファイル名を出力します。filelist

その後、rsync への引数を使用できますfiles-from=filelist

これを Python で書く方が簡単かもしれません。

関連情報