バックアップに使用するときに、tar
バックアップtarballと共に保存されるアーカイブに含まれる別々のファイルのリストを作成したいと思います。
また、tarのエラーメッセージをログに保存できるようにしたいです。
あまり良くない解決策:
tar --verbose
...&> filelist.txt
しかし、これは1つのファイルにエラー+ファイルのリストを提供します。tar --list
タールボールを作成した後。しかし、時間がかかります。
初めてボールを転がしたときにファイルのリストを取得して別のファイルに保存する方法はありますか?
ベストアンサー1
tar --list
速度が遅いので気に入らないと言われました。私はこれが大きなタールボールなので、全体の内容を再スキャンする必要があると思います。この場合、作成時にチェックを実行すると、より良いパフォーマンスが得られます。
tar -c /input/directory | tee output.tar | tar -t > filelist.txt
これはtee
結果のtarballを1つはファイルに、もう1つはtar -t
。
アーカイブをgzipに圧縮するには:
tar -c /input/directory | tee >(gzip > output.tar.gz) | tar -t filelist.txt
tar
2番目のtarが再度解凍する必要があるときにCPUサイクルが無駄になるため、1番目のtarはgzipを実行しませんでした。代わりに、ディスクに書き込まれるtarballだけがgzipで圧縮されます。