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

今天主要内容包含,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. WCF系统内置绑定列表与系统绑定所支持的功能

      WCF系统内置绑定列表 绑定 配置元素 说明 传输协议 编码格式 BasicHttpBinding <basicHttpBnding> 一个绑定,适用于与符合 WS-Basic Pro ...

  2. Hue上的Oozie构建工作流和定时任务步骤

    Oozie是什么? Oozie是一种Java Web应用程序,它运行在Java servlet容器--即Tomcat--中,并使用数据库来存储以下内容: 工作流定义 当前运行的工作流实例,包括实例的状 ...

  3. spring mvc报错,数据库查询无限死循环

    进行查询的陷入了无限死循环,原因是问题类中包含了回答,回答类中包含了问题,进入了无限死循环 解决方法:在回答类中的问题类属性上加注解:@JsonBackReference 问题中有回答的set集合,回 ...

  4. NFV、DPDK以及部分用户态协议研究

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 对我而言,这是一个新的领域,很有意思. 一.解释名词: NFV(Network Functio ...

  5. canvas 从初级到XX 2# 让我们在之前的基础之上,再迈进一步吧 [中级向] (上)

    还是老样子,先啰嗦一点前言. 最近各种事务缠身,所以也就隔了比较长的时间才开始码这篇文.希望不会这么快就过气. 好了,接下来就开始码代码.(写到中途,突然感觉到的.本篇设计大量初中物理知识,请怀念的往 ...

  6. Keras的安装与配置

    Keras是由Python编写的基于Tensorflow或Theano的一个高层神经网络API.具有高度模块化,极简,可扩充等特性.能够实现简易和快速的原型设计,支持CNN和RNN或者两者的结合,可以 ...

  7. 【http转https】其之三 IIS_URL重写_http重定向到https

    IIS_URL重写_http重定向到https 文:铁乐猫 2016年1月14日 IIS7以上支持URL Rewrite这个模块了,所以在我们做好了ssl证书这一块之后, 要对来自http的请求重定向 ...

  8. Git详解之三:Git分支

    Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的 ...

  9. 妙味课堂:JavaScript初级--第11课:字符串、查找高亮显示

    1.数字字母 Unicode 编码 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content- ...

  10. javascript字符串与数组转换汇总

    本文给大家分享的是Js中字符串转换成数组,数组转换成字符串的函数,十分的简单实用,有需要的小伙伴可以参考下. 数组转字符串 1.join()方法 ? 1 2 3 4 var s= ["a&q ...