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

今天主要内容包含,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. utf8、unicode与gbk

    中国人民通过对 ASCII 编码(对于英文字母8位)的中文扩充改造,产生了 GB2312 编码,可以表示6000多个常用汉字. 汉字实在是太多了,包括繁体和各种字符,于是产生了 GBK (汉字:两个字 ...

  2. iOS iOS10 的适配问题

    其他:Xcode8 iOS10 的新特性 1.系统判断方法失效:2.隐私数据的访问问题:3.UIColor 问题4.真彩色的显示5.ATS问题6.UIStatusBar问题7.UITextField8 ...

  3. Hive数据倾斜解决方法总结

    数据倾斜是进行大数据计算时最经常遇到的问题之一.当我们在执行HiveQL或者运行MapReduce作业时候,如果遇到一直卡在map100%,reduce99%一般就是遇到了数据倾斜的问题.数据倾斜其实 ...

  4. Effective Java 第三版——10. 重写equals方法时遵守通用约定

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  5. Java面试题汇总

    第一阶段:三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发.我们知道如何团队 ...

  6. bzoj 1835: [ZJOI2010]base 基站选址

    Description 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄 ...

  7. C#中级-通过注册表读取Windows Service程序执行路径

    一.前言        假设我们的C#解决方案中有多个程序应用,如:Web应用.控制台程序.WPF程序应用和Windows服务应用. 那么这些非Windows Service应用程序怎么在代码中找到W ...

  8. Java设计模式总汇一

    PS:首先我们要带着问题读文章 什么是设计模式 为什么要用设计模式 使用设计模式有什么好处 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了重用代码.让 ...

  9. PHP函数register_shutdown_function的使用

    函数简介当PHP程序执行完成后,自动执行register_shutdown_function函数,该函数需要一个参数,用来指定由谁处理这些后续的工作.其中,程序执行完成,分为以下几种情况:第一种:ph ...

  10. Discuz uc.key泄露导致代码注入漏洞

    漏洞描述:在Discuz中,uc_key是UC客户端与服务端通信的通信密钥,discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,最终进入网站后台,造成数据泄漏 ...