Chinaunix

标题: shell脚本 [打印本页]

作者: wangxiaoming135    时间: 2014-08-25 15:22
标题: shell脚本
要求写出Linux操作系统所有进程中占CPU超过10% 内存超过10%的进程信息输出到/tmp/mang.log文件中,然后调用系统邮箱将该文件发送到指定邮箱root@mail.com ,编写定时任务,每周五的上午8点下午5点执行该任务,其他时间在晚上23点执行该任务。
作者: q1208c    时间: 2014-08-25 16:09
很象是作业.
作者: wangxiaoming135    时间: 2014-08-25 16:28
回复 2# q1208c
是的,初学几天,完全不会。哪个高手花几分钟帮我搞定一下。

   
作者: wangxiaoming135    时间: 2014-08-25 16:38
PS -aux | wc -l
然后就不知道怎么定位了
作者: q1208c    时间: 2014-08-25 16:49
回复 3# wangxiaoming135

作业最好还是自己做.

我相信老师的作业应该是跟课程相关的, 绝不会问一年级学生五年级的问题.
   
作者: wangxiaoming135    时间: 2014-08-25 16:58
回复 5# q1208c


    没老师,是网上教程。
作者: unefeuille    时间: 2014-08-25 17:12
本帖最后由 unefeuille 于 2014-08-25 21:30 编辑
  1. #!/bin/sh
  2. #filename:check.sh
  3. :>/tmp/mang.log
  4. TEST=10.0
  5. top -n 1 |sed '1,7d' > /tmp/top.txt
  6. awk '{print $10 " " $11 " " $13}' /tmp/top.txt | sort > /tmp/cpu_mem.txt
  7. while read CPU MEM CMD
  8. do
  9.         if [ $(echo "$CPU > $TEST"|bc) -eq 1 ] && [ $(echo "$MEM > $TEST"|bc) -eq 1 ];then
  10.         ps -ef |grep $CMD | grep -v grep >> /tmp/mang.log
  11.         fi
  12. done < /tmp/cpu_mem.txt
复制代码
脚本会实现只有当CPU和内存使用率都大于10%的时候才会将程序信息写入/tmp/mang.log,应该可以的,我没有尝试,只是给了几个值测试了一下
计划任务这个比较简单,你自己加就可以了,另外发送邮箱这个,你可以配置为发送外网,百度教程会有很多,发送到root用户在生产环境中没有实际意义

作者: chengchow    时间: 2014-08-26 09:03
ps aux | awk '{if($3>10 || $4>10){print $0}}' >/tmp/mang.log




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2