【发布时间】:2014-07-01 20:16:33
【问题描述】:
我正在尝试为正在生成的图形输入多个 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
【问题讨论】:
我正在尝试为正在生成的图形输入多个 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'
【讨论】: