我正在尝试为正在生成的图形输入多个 sar 文件。我可以一次输入一个文件,如下所示:
LC_ALL=C sar -A -f /var/log/sa/sa05 >> /tmp/sar.data3.txt
这个系统税不起作用,但这是我想要做的事情的想法:
LC_ALL=C sar -A -f /var/log/sa/sa* >> /tmp/sar.data3.txt
sa* 文件似乎是二进制文件,即 saXX 文件之一上的 cat 不会回显有效的人类可读单词。以下可用于查看其人类可读的内容。
strings /var/log/sa/sa01 or saXX
您可能需要的文件是 sarXX:您可以尝试上面提到的“LC_ALL=C ....”命令来代替我在下面提到的。
for file in /var/log/sa/sar*; do sar -A -f "$file" >> /tmp/sar.data3.txt; done
现在,以下命令将显示/拥有您需要的内容。
cat /tmp/sar.data3.txt
我没有看到 SAR 命令的所有选项,建议您检查是否有支持 sar* 或 sar 的选项?
您可以使用 find 命令聚合文件并将它们连接到您的输出文件中,类似于:
find /var/log/sa -type f -name "sa*" \
-exec LC_ALL=C sar -A -f '{}' >> /tmp/sar.data3.txt \;
sar
由于不使用 -f 选项接受多个输入文件,您尝试执行的操作似乎失败了。将来,您可能会考虑使用该-o
选项来准备包含您想要在记录中的数据的文件,这些数据以后可以使用该-f
选项输出
要查看内存统计数据的多日 sar 报告:
find /var/log/sa/ -type f|grep sar|xargs grep kbmem -A144
要查看CPU 状态,试试这个
find /var/log/sa/ -type f|grep sar|xargs grep "CPU %user" -A720
这个怎么运作
目录 /var/log/sa/ 将包含 sar23、sar24、sar25、sar26、sar27 等文件。sar 后缀对应于月份中的某天。
笔记:
如果你喜欢别名:
alias sarcpu='find /var/log/sa/ -type f|grep sar|xargs grep CPU %user -A720'
alias sario='find /var/log/sa/ -type f|grep sar|xargs grep bread -A144'
alias sarmem='find /var/log/sa/ -type f|grep sar|xargs grep kbmem -A144'