atop 1.23データファイルからコマンドライン全体を抽出できますか?

atop 1.23データファイルからコマンドライン全体を抽出できますか?

私の本番サーバーではatopバージョン 1.23、このファイルで作成されたデータ ファイルがあり、そのファイルからプロセスの完全なコマンド ラインを抽出する必要があります。

残念ながら:

  • このバージョンでは、atopディスプレイの列80以降のデータは表示されません。
  • 水平スクロールは1.27でのみ導入されました。
  • 新しいバージョンは、以前のバージョンで作成されたデータファイルの読み取りを拒否します。
  • ファイル自体が圧縮されており、単純strings検索にはなりません

私のデータファイルからコマンドライン全体を回復する方法はありますか?

ベストアンサー1

編集する。マニュアルページを確認した後、完全なコマンドラインを得ることができるようです。

atop -r /var/log/atop.log -P PRG

圧縮ファイルからデータを抽出するいくつかの一般的な方法は次のとおりです。

次のコマンドを使用して、最上位のログファイルからデータを抽出できます。

xxd -p < /var/log/atop.log |
  fold -w4 |
  awk -v cmd='xxd -r -p | zlib-flate -uncompress | strings' '
    /789c/{if (x) close(cmd); x=1}; x {print | cmd}' |
  grep your-command

アイデアは、zlibヘッダー(で始まる789c)を検出してに渡すことですzlib-flate -uncompress。完璧という保証もなく、最も効率的な方法でもありませんが、私には効果的でした。

代替zlip-flate -uncompress(一部qpdf)にはとopenssl zlib -dが含まれますpigz -zd

おすすめ記事