Linux·shell编程 每周五练

1.一键部署 LNMP(RPM 包版本)

#!/bin/bash#一键部署LNMP(RPM包版本)
#使用yum安装部署LNMP,需要提前配置好yum源,否则该脚本会失败
#本脚本使用于centos7.2或RHEL7.2
yum ‐y install httpd
yum ‐y install mariadb mariadb‐devel mariadb‐server
yum ‐y install php  php‐mysql

systemctl start httpd mariadb
systemctl enable httpd mariadb


2.监控内存和磁盘容量,小于给定值时报警

#!/bin/bash#实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员
#提取根分区剩余空间
disk_size=$(df / | awk ‘///{print $4}’)
#提取内存剩余空间
mem_size=$(free | awk ‘/Mem/{print $4}’)
while :
do
#注意内存和磁盘提取的空间大小都是以Kb为单位
    if  [  $disk_size -le 512000 -a $mem_size -le 1024000  ]
    then
        mail  ‐s  “Warning”  root  <<EOF
    Insufficient resources,资源不足
    EOF
    fi
done


3.编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for 版本)

#!/bin/bash
#编写脚本测试192.168.4.0/24整个网段中哪些主机处于开机状态,哪些主机处于关机
#状态(for版本)
for i in {1…254}
do
# 每隔0.3秒ping一次,一共ping2次,并以1毫秒为单位设置ping的超时时间
    ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i  &>/dev/null
    if [ ?−eq0];then
        echo"192.168.4.$i is up"
    else
        echo “192.168.4.$i is down”
    fi
done


4.编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(while 版本)

#!/bin/bash
#编写脚本测试192.168.4.0/24整个网段中哪些主机处于开机状态,哪些主机处于关机
#状态(while版本)
i=1

while [ i−le254]
    doping‐c2‐i0.3‐W1192.168.4.$i &>/dev/null

if [ ?−eq0];then
    echo"192.168.4.$i is up"
else
    echo “192.168.4.$i is down”
fi
let i++
done


5.编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(多进程版)

#!/bin/bash
#编写脚本测试192.168.4.0/24整个网段中哪些主机处于开机状态,哪些主机处于关机
#状态(多进程版)
#定义一个函数,ping 某一台主机,并检测主机的存活状态
myping()
{
    ping ‐c 2 ‐i 0.3 ‐W 1 $1  &>/dev/null
    if  [ $? -eq 0 ];then
        echo “$1 is up”
    else
        echo "KaTeX parse error: Expected 'EOF', got '}' at position 15: 1 is down"
    fi
}̲for i in {1..2…i &

done
#使用&符号,将执行的函数放入后台执行
#这样做的好处是不需要等待ping第一台主机的回应,就可以继续并发ping第二台主机,依次类推


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值