距离上一次更新文章已经过去一段时间了,小编在这段时间因为一些琐事,加上身体生病不能及时更新文章,今天身体逐渐恢复就急忙来更新文章,今天思梦给大家带来的就是如何自动化监控我们的服务器一些基本的配置来保证我们应用能更好的运行以及做好性能瓶颈的预测!

今天主要内容包含,Linux的基础Shell编程的流程控制语句、cut的使用、grep的使用、以及awk的使用就可以实现我们所说的事情了!

以下所讲命令配合不同的参数有不同的用处,思梦给大家讲的都是一些为了实现所说功能的基础使用,小伙伴们如果想更好的使用以下命令可以参考文档去尝试配合不同参数来实验!

1)首先讲一下Shell的流程控制语句if,格式为

if command;then

逻辑处理

else

逻辑处理

fi

以上需要注意的就是if最后的结尾要有一个fi

2)cut的基本使用,它可以用一些规律性的分隔符去获取某一行

for example : a:b 这样一行字符串,我们想获取a,那么我们可以这样写:cut -d ":" -f 1 它的意思为:使用:分割然后获取第一行,-d后面接的就是用什么符号分割,题目上是" ",当然也能是" ;"等等,再后面的-f是我要打印输出的第几列

3)grep这个命令是强大的文本搜索工具,比如我们在一个文本里面想搜

for example:

我们先创建一个simengphp.txt,然后我们想获取一下simengphp这个字符串这行,我们可以这样操作

这样我们就可以获取到了simengphp这行

4)awk这个命令比较复杂,我们直接讲怎么使用,awk '{print $i}' 意思为默认使用空格(不规则的,cut要规则)或者制表符分割,后面配合例子来给大家讲解

好了基本的命令给大家讲完了,我们现在需要做的就是动手去写Shell脚本来去实现我们的功能了

首先第一个我们来写监控内存的脚本,我们还要使用一条命令:free -h

这样我们就看到了第一行内存使用的状况了:那我们想要的是free这列值来进行监控,那么我们就一步一步去获取这行的值

1)先展示出来所有的,然后我们通过管道以此交给下一条命令去处理

2)我们使用grep这个命令获取到我们想要的这样

3)通过awk命令我们获取到第四列然后并打印出来,$后面跟的是我们要打印的那列,print是和awk配合使用的,linux下print是不能单独使用的

4)后面再通过cut这个命令使用M来切分值,就能获取到了我们想要的值了

以上我们只是演示一下怎么获取我们想要的值,后面我们就直接开始写Shell脚本了:

我们运行一下返回的是else里面的值,因为我们刚才看到的是204,正好大于200因此没有报警操作!

那监控内存的功能大家看明白了后面监控硬盘空间的功能也是一样的,我直接给大家上脚本了

以上就是我们通过Shell脚本来实现自动化监控内存和使用硬盘空间的操作,然后我们通过定时任务去执行相应的脚本就可以了

脚本很粗糙,还有一些需要改进的地方,希望小伙伴们研究明白之后可以去优化一下然后去监控你们的服务器吧!

Linux下自动化监控内存、存储空间!的更多相关文章

  1. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  2. linux 下 取进程占用内存(MEM)最高的前10个进程

    # linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...

  3. Linux 下增大tomcat内存

    我的服务器的配置: # OS specific support.  $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...

  4. (转)Linux下tomcat JVM内存设置步骤

    java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space -------------- ...

  5. linux下脚本监控网络流量

    linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...

  6. [转帖]linux下网络监控神器"iptraf-ng"

    linux下网络监控神器"iptraf-ng" https://www.cnblogs.com/dupengfei/articles/iptraf-ng.html 优点:监控的网络 ...

  7. [转帖]Linux下inotify监控文件夹状态,发生变化后触发rsync同步

    Linux下inotify监控文件夹状态,发生变化后触发rsync同步 https://www.cnblogs.com/fjping0606/p/6114123.html 1.安装工具--inotif ...

  8. Linux下性能监控、守护进程与计划任务管理

    目录 一:监视系统进程(ps .top) 二:查看网络连接信息 (netstat) 三:文件进程.端口关联(lsof) 四:计划任务管理(at .crontab) at crontab 一:监视系统进 ...

  9. linux 下查看系统内存使用情况的方法

    在Windows系统中查看内存的使用情况很简单,想必大家都已经耳熟能详了,那么在linux系统如何查看内存使用情况呢?下面和大家分享在Linux 下查看内存使用情况的free命令: [root@scs ...

随机推荐

  1. [UWP]了解模板化控件(10):原则与技巧

    1. 原则 推荐以符合以下原则的方式编写模板化控件: 选择合适的父类:选择合适的父类可以节省大量的工作,从UWP自带的控件中选择父类是最安全的做法,通常的选择是Control.ContentContr ...

  2. intellij IDEA里各图标对应的文件类型

    本篇内容为大家提供的是IntelliJ IDEA 使用教程中的常见文件类型的图标介绍,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一, ...

  3. Unity优化之GC——合理优化Unity的GC

      转载请标明出处http://www.cnblogs.com/zblade/ 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 =.= PS: 最近重新回来更新了一遍,文 ...

  4. 使用WebEx录制视频并转换为MP4

    1.下载并安装WebEx http://www.question-defense.com/wp-content/uploads/2010/05/ateditor-version-3.0.zip 2.打 ...

  5. NodeJs学习笔记(四)---单元测试

         sailsjs框架用了一段时间了,感觉如果功能复杂了,非常难以处理,想用一下单元测试,看是否能解决问题.     sailsjs的官方文档使用的是mocha,我搜索了一些资料,主要参考了朴灵 ...

  6. 【java设计模式】【创建模式Creational Pattern】抽象工厂模式Abstract Factory Pattern

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW0AAABvCAIAAACo3AbKAAALvUlEQVR4nO1dUa7cOA7U/c+zwJxkf4

  7. iOS 单利模式实现/优缺点

    感谢此文章提供摘要: http://www.cnblogs.com/lyanet/archive/2013/01/11/2856468.html 优缺点:http://blog.csdn.net/ta ...

  8. 并行cmd

    #!/bin/bash ]; then echo -e "usage : \n\t$0 hostList REMOTE_CMD" echo -e "example: \n ...

  9. 如何用jQuery实现五星好评

    jQuery是js的一个库,封装了我们开发过程中常用的一些功能,方便我们来调用,提高了我们的开发效率. Js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里面来就可以了. 接下 ...

  10. 在Ubuntu14.04下安装 labelImg (标数据用)

    安装 SIP 下载 SIP 并解压 : $ sudo python configure.py $ make $ sudo make install 安装 依赖库 $  sudo apt-get ins ...