shell编程实战之监控端口

一般企业用的服务器上面都会跑各种服务,比如nginx、php、mysql、redis、MongoDB等等。一般系统的运行可能会需要多个服务的配合,比如我司的系统需要php、mysql、redis、apache、MongoDB服务。这些服务缺一不可。 所以我们要实时监控这些服务,如果发现有服务出现异常,需要立即告警。这里我们不打算通过进程名来判断服务的状态。我们打算通过端口的监听来判断服务的运行状态…

shell编程实战之监控磁盘分区使用率

不知道大家有没有碰到过磁盘分区写满,导致新数据写入不了,造成网站出现了问题。之前自己有几次碰到过这种情况,自己当时紧急解决办法是:删除网站的日志文件,删除了MySQL的binlog日志。 当然我们是不希望发生此类问题的,如果网站总出现不稳定或打不开情况,会给用户一种不靠谱的感觉。所以,对于磁盘分区的使用,我们需要实时监控,当超过预设值时,就发送份邮件或短信给管理员,将错误扼杀至摇篮里。 对于此脚本…

shell编程实战之rm命令太危险,使用自定义命令del替换

不知道大家对在服务器上使用rm命令有什么感觉,反正每次我使用的时候,都会好好确认,即使这样,按下回车的时候,心里还是会有点慌慌的感觉。因为和windows系统不一样,使用win系统默认删除文件,该文件就会被放入到回收站中,想要恢复直接从回收站找到文件并恢复即可。但是在linux中,用rm删除文件,那就是真的删除掉了,是没有回收站这个概念的。 真因为rm命令的危险性,所以想要不自己写一个shell脚…

全面整理linux下shell中各种括号的作用及用法

当初自己在学习shell编程的时候,被各种括号的用法搞得头昏脑涨。靠着逐步的熟悉和积累,才终于掌握的所有的括号的用法。现在,把自己总结出来的分享给大家。 注:看本篇文档的前提是你已经有了bash以及shell编程的基础。 单小括号() 但小括号常见的两个作用:命令替换以及数组的初始化 命令替换 当碰到$()结构时,shell就把括号的内命令执行,并返回结果 # tmp=$(date) # echo…

全面详解shell编程三剑客之一的awk命令

shell编程三剑客里,awk比另外两个命令grep、sed更加复杂,更加难以掌握,因为awk是可以作为一个编程语言的!难归难,但该命令是必须要掌握的命令,因为它的功能实在太强大了! 基本结构 awk基本结构如下: awk [选项] 'pattern1 {action1} patten2 {action2} ……' filename 单引号是为了和shell命令区分开来。 大括…

全面详解linux下的sed命令

作为shell编程三剑客之一的sed,重要程度不言而喻。sed是一个流编程器,每次处理一行,处理完后再接着处理下一行,它支持正则,功能非常的强大。但sed比一般的命令复杂一些,选项繁多,想要掌握它是需要花点功夫的。下面我们通过众多的例子来看看这个强大的sed命令的作用吧! 语法格式:sed [选项] [动作] 常用选项如下: -n:sed默认会输出所有stdin内容,但加上该选项后,只显示经过se…

全面详解linux系统下的grep命令

学linux系统,grep这个命令是必须要掌握的。grep命令是用来查找文件或标准输出中匹配的行,它的强大之处在于它支持正则表达式。 注:本文只介绍grep的用法,关于正则表达式不做介绍。 下面来看看它的一些常见选项以及含义: 选项 -i 搜索时候忽略大小写 -n 列出所有的匹配行,显示行号 -v 反向选择 -c 只输出匹配行的数量 -l 只列出符合匹配的文件名,不列出具体的匹配行 -h 查询多文…

通过几个案例掌握shell编程条件分支结构

shell脚本是任何一个后端程序员都应该去掌握的技能,今天,我们来一起学习下它的条件分支结构,然后通过几个案例去掌握它。 首先,我们来看shell脚本的基本结构,基本结构如下: #!/bin/bash 代码 下面,我们来编写一个最简单的shell脚本程序吧。 #!/bin/bash echo 'hello world' 当上面程序执行后,就会在屏幕上打印出hello world…

linux系统下tr命令详解

今天想和大家介绍下1个非常常用的命令——tr。这个命令可以用来替换字符串、删除指定字符以及将多个重复字符压缩只剩一个,除此之外,该命令是支持管道的。从上面的功能介绍,大家应该能够感受到该命令功能非常的强大。下面,来介绍下该命令: tr [选项] 参数 常用选项如下: -c 后接字符范围,表示除这些字符之外的字符 -d 删除指定字符 -s 将重复字符压缩只剩一个 下面通过几个案例来学习如何使用该命令…

介绍两种方法来创建内存交换空间swap

首先来介绍下swap的作用。一般的,当我们安装好了linux操作系统后,系统会默认创建swap分区。我们来看看服务器上swap分区的使用情况 # free -h total used free shared buff/cache available Mem: 992M 630M 68M 264K 293M 198M Swap: 1.0G 96M 927M 该服务器的swap分区大小为1G,这个sw…