![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本
爱吃丶辣包
冒泡
展开
-
shell脚本---------监控内存,超过警戒值发邮件告警
项目需求:用shell写一个内存监控脚本,使用超过80%并发邮件告警步骤分析:free -m ##内存使用情况显示结果:/totalusedfreesharedbuff/cacheavailableMem:3770219317031703813325Swap:204702047注释:Mem:内存的使用情况总览表。total:机器总的物理内存单位为:Mused:用掉的内存。free:空闲的物理内存。算取百分比:原创 2020-08-30 12:25:58 · 2217 阅读 · 5 评论 -
shell脚本---------创建触发器及邮件报警测试
项目要求:编写一个发邮件脚本。步骤分析:【安装邮件组件】[root@tang ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz #下载安装源[root@tang ~]# tar -zxvf sendEmail-v1.56.tar.gz #解压安装包[root@tang ~]# cp sendEmail-v1.56/sendEmail /usr/local/bin/原创 2020-08-30 14:30:21 · 644 阅读 · 0 评论 -
shell-------菱形思路及步骤
总体思路当看到菱形的时候总会无从下手,我们可以把分成多个小模块,就可以很好理解了首先把这个菱形看成四个小模块------------------(“黑色三角”是虚化的不存在的)①和②为上半部分, ③和④为上半部分,外面分别用两个 for 循环语句内再嵌套两个 for 循环进行输出#!/bin/bashread -p "请输入菱形大小:" num##上面的循环体打印向上的等腰三角形for ((i=1; i<=num; i++))do for ((a=num-1; a>=i; .原创 2020-08-20 14:46:38 · 978 阅读 · 0 评论 -
shell----------冒泡算法
冒泡排序类似于气泡上涌的过程,可以把数据从数组中,上下进行移动,实现从大到小或从小到大的排序。思路这个排序主要是把相邻的两个数进行比较,按要求进行上下移动,如果要求是升序,那么就会从第一个数与第二个数进行比对大小,第一个数值大就会下移与第三数比对,依次类推与下面数值进行大小比对,进行判断是否需要改变位置;降序就是与其相反。运算过程图解:实现代码:#!/bin/bashf=`cat /root/arr.txt` ##把arr.txt文件里的数值赋给farray=($f)#a原创 2020-08-20 15:19:04 · 809 阅读 · 0 评论 -
shell脚本------------编程条件语句(if、case)
条件测试操作文件测试[ 操作符 文件或目录 ]常用的测试操作符-d:测试是否为目录(Directory)-e:测试目录或文件是否存在(Exist)f:测试是否为文件(File)-r:测试当前用户是否有权限读取(Read)-w:测试当前用户是否有权限写入(Write)-x:测试当前用户是否有权限执行(eXcute)注释:这里的当前用户是指执行命令的用户。示例:[ -d /media/cdrom ] && echo $?|| echo $? ###当等式成立输原创 2020-08-25 08:12:05 · 4152 阅读 · 1 评论 -
shell脚本-------------定期清理日志文件
目标需求:两类机器一共300多台,写个脚本自动清理这两类机器里的日志文件,A类和B类机器日志存放路劲一致,但B类机器日志文件存放路径需要用匹配(除了日志还有其他文件,不能删,匹配的时候用.log)A类:/opt/cloud/log/ (删除7天前日志)B类:/opt/cloud/instances/ (删除15天前日志)不用考虑堡垒机上操作,只要写shell脚本就可以。步骤分析:需要写出一个,无论在A类还是B类的机器都能运行。判断是A类还是B类机器,可以用判断目录 /opt/原创 2020-08-26 16:28:56 · 1714 阅读 · 0 评论 -
shell脚本-------------企业上线新项目 检查上线的IP是否被占用
项目需求:当企业项目完成后需上线,在上线前都会进行检测,为了不让上线的服务器,不与线网的IP地址相冲突,我们就用shell脚本,把192.168.100.0/24网段在线的IP地址和不在线的IP地址列出来并保存到文档中。步骤分析24网段公有254个IP地址,从192.168.100.1到192.168.1.254,需要用for循环进行遍历。查看某个IP地址是否在线,主要用ping命令来进行测试。脚本实现:#!/bin/baships="20.0.0."for i in `seq 1 25原创 2020-08-26 17:58:29 · 1424 阅读 · 3 评论 -
shell脚本-------------定期检查是否指定用户登录系统
项目需求:每隔5分钟检查指定用户是否登录系统,用户名从命令行中输入,如果指定的用户已登录,则显示相关信息。步骤分析:每隔5分钟,可用计划任务,也可以做死循环根据项目需求,用户名用户名要从命令输入,就意味着和用户交互,如果每5分钟交互一次,太麻烦了,所以死循环比较合适,只需要交互一次脚本实现:#!/bin/bashread -p "请输入用户名:" userwhile :do if who |grep -qw $user then原创 2020-08-26 18:57:12 · 3294 阅读 · 0 评论