確認したい圧縮されていない大容量tarファイル(1TB)があり、すべてがうまくいったことを確認するために解凍してみました。時間がかかるので、インポート中に画面にいくつかの情報を印刷したいと思います。推奨されるチェックポイントアクションが悪すぎます。ここ期待どおりに動作しません。このコマンドを試した場合:
tar -xf big_fat_backup.tar --checkpoint=10000 --checkpoint-action=ttyout='%{%Y-%m-%d %H:%M:%S}t (%d sec): #%u, %T%*\r'
文字列のメタ文字は拡張されず(%uを除く)、次の出力が表示されます。
%{%Y-%m-%d %H:%M:%S}t (%d sec): #10000, %T%*
先ほどマニュアルからコピーしましたが、私が何を間違っているのでしょうか?
ボーナス質問:-Wスイッチを使用してアーカイブを作成してもエラーが印刷されない場合は、アーカイブが正しく記録されていることを確認する必要がありますか?
ベストアンサー1
これらのメタ文字は次--checkpoint-action
のとおりです。バージョン1.28で導入されました、一週間前に発売されました。
tar
必要に応じておおよその進行状況を取得する1つの方法は、プロセスが入力ファイルのどこにあるかを確認することです。lsof -p1234
1234がプロセスのPIDである場所を見ることができますtar
。 Linuxではpos:
確認できます/proc/1234/fdinfo/3
。
画面に進行状況レポートを表示するには、以下に基づいてアーカイブをフィルタリングできます。pv
。
<big_fat_backup.tar pv -bt | tar -xf -
アーカイブが正しく作成されたことを確認するには、tar
コマンドの終了状況を確認してください。これは他のコマンドにも当てはまります。終了状態 0 は成功を示し、ゼロ以外の値は失敗を示します。