Atop

我可以從 1.23 數據文件中提取完整的命令行嗎?

  • December 9, 2019

我的生產伺服器atop版本為 1.23,我有一個由它編寫的數據文件,我需要從中提取程序的完整命令行。

很遺憾:

  • 此版本atop不會顯示超出顯示第 80 列的數據
  • 水平滾動僅在 1.27 中引入
  • 新版本拒絕讀取舊版本寫入的數據文件
  • 文件本身已壓縮,因此strings無法進行簡單的搜尋

有什麼方法可以從我的數據文件中恢復完整的命令行?

編輯. 檢查手冊頁後,您可以使用以下命令獲取完整的命令行:

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 -uncompressqpdf的一部分)的替代品包括openssl zlib -dpigz -zd.

引用自:https://unix.stackexchange.com/questions/75764