shell脚本取top程序中的内存部分
利用的中间的一个文件top.txt
a.sh如下:
#!/bin/bash
LOGFILE=$(date +"%F").log
//按日期生成2001-01-20.log的日志文件
top -M >top.txt
//用top -M 生成top.txt文件
ps -ef |grep "top"|grep -v grep|awk '{print $2}' |xargs kill -9
//取出top -M程序的进程号,然后利用xargs杀死
cat top.txt |grep -E "Mem|Swap" >>$LOGFILE
其实就是获取top 中的MEM|swap因为top程序不自动退出,所以用了xargs kill -9 来杀死top
写这个主要目的是为了记着xargs的用法。
然后用crontab 来实现过五分钟自动执行一次。
crontab -e
*/5 * * * * /home/USER/a.sh
* * * * * /home/USER/a.sh前面分别对应的为:分钟,小时,日期,月份,星期几。
30 */1 * * * /home/USER/a.sh //表示每小时执行一次,且分钟数分30时执行。
* * 1 * * /home/USER/a.sh //每一天执行一次。