美文网首页
Linux基础及总结8之shell练习

Linux基础及总结8之shell练习

作者: 牵挂包含一种欣赏 | 来源:发表于2019-12-21 09:42 被阅读0次

    1、显示统计占用系统内存最多的进程,并排序。

        1)使用htop工具,鼠标点击MEM%

           2)使用top命令,输入大写的M按内存排序

    2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

    #!/bin/bash

    ipaddr="192.168.2."

    for i in {1..254};do 

           ping -c1 -W1 $ipaddr$i &> /dev/null

          if [ $? -eq 0 ];then

              echo "ping $ipaddr$i success!"

           else

          echo "ping $ipaddr$i fail!"

           fi                                                                                                                               

    done

    #!/bin/bash

    for i in {1..254};do

      echo 10.0.35.$i >> ip.txt

    done

    sleep 3

    while read ip;do

      {

      ping -c1 -W1 $ip &> /dev/null

      if [ $? -eq 0 ];then

        echo "ping $ip success"

      else

        echo "ping $ip fail"

      fi

      } &

    done < ip.txt

    wait

    3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间

        crontab -e 

           30 1 * * 1-5 /bin/bash /root/etc_bak.sh &> /dev/null

         #!/bin/bash 

        sdir="/etc"

        ddir="/backup"

        if [ ! -d $ddir ];then

          mkdir -p $ddir

        fi

        tar czf $ddir/etcbak-`date -d "-1 day" +%F`.tar.xz $sdir &> /dev/null

        if [ $? -eq 0 ];then

              echo "`date "+%F"` backup $sdir file success" >> $ddir/backup.log

        else

            echo "`date "+%F"` backup $ddir file fail" >> $ddir/backup.log

        fi

    4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警

    crontab -e 

           */10 * * * * /bin/bash /root/etc_bak.sh &> /dev/null

      #!/bin/bash

        declare -A disk

        warning=70

        df -H|sed -nr 's#^(/dev/.*) ([0-9]+%).*#\1 \2#p' > diskinfo.txt

        while read line;do

           index=`echo $line|sed -nr 's#^([^[:space:]]+) .*#\1#p'`

           disk[$index]=`echo $line|sed -nr 's#.* ([[:digit:]]+)%.*#\1#p'`

           if [ ${disk[$index]} -gt $warning ];then

            echo "磁盘$index:使用率达到${disk[$index]}%,请关注!!"|mail -s "磁盘空间使用率超过70%告警"  XXXXXX@qq.com

          fi

        done < diskinfo.txt

    脚本执行测试结果:

    相关文章

      网友评论

          本文标题:Linux基础及总结8之shell练习

          本文链接:https://www.haomeiwen.com/subject/cnbynctx.html