私はスナップショットが64のディレクトリに分かれており、各ディレクトリには350を超えるファイルを持つCassandraノードがあります。すべてのスナップショットファイルを「見つけて」場所を保存し、ファイルスペースが多いホストに同期し、ログイン時にtar / gzを実行したいと思います。これは1つのステップで完了できますか?
現在、私は以下を行う必要があります:
find /mnt* -type d -name snapshots -exec /usr/bin/rsync {} -avhr user@host:/mntc/backups/ ';'
それから:
tar -czpf /mntd/backups/mybackup.tgz /mntc/backups/snapshots
rsyncプロセス中に見つかったファイルを反対側のアーカイブに直接「ダンプ」できることをお勧めします。可能ですか?
メモ:
- Cassandraノードには、ルックアップ検索でファイルを事前圧縮するために必要な1Tbの空き容量がありません。
- ファイルを新しいホストに再同期し、ホストで2Tbを必要とする結果をパッケージ化して、一度に実行できるCassandraノードの数を減らします(バックアップする合計20個)。
答え1
簡単に言えば、他の人が興味を持っている場合に備えて、これを達成するために私が見つけた最良の方法は次のとおりです。
find /mnt* -type d -name snapshots > dir.list; \
tar -czpf - -T dir.list | ssh user@host "openssl aes256 \
-out /mntc/backups/snapshot.tgz.enc -salt -k 'secret'"