shell习题171121-自动挂载磁盘

新朋友请点上方shell习题171121-自动挂载磁盘
 蓝字“阿铭linux”关注

我们使用的云主机,购买一块云盘后,默认并不是挂载状态的,用shell写一个脚本,只要把盘符和挂载点以参数的形式提供给脚本,该脚本就可以自动格式化、挂载。

要求:

1 不用分区,直接格式化

2 格式化为ext4文件系统类型

答案明日公布。

习题171121-自动封/解封ip==参考答案==

#! /bin/bash

## To block the ip of bad requesting.

## Writen by aming 2017-11-18.

log="/data/logs/www.xxx.com.log"

tmpdir="/tmp/badip"

#白名单ip,不应该被封

goodip="27.133.28.101"

[ -d $tmpdir ] || mkdir -p $tmpdir

t=`date -d "-1 min"  +%Y:%H:%M`

#截取一分钟以前的日志

grep "$t:" $log > $tmpdir/last_min.log

#把一分钟内日志条数大于120的标记为不正常的请求

awk "{print $1}" $tmpdir/last_min.log |sort -n |uniq -c |sort -n |tail |awk "$1>120 {print $2}"|grep -v "$good_ip"> $tmpdir/bad.ip

d3=`date +%M`

#每隔20分钟解封一次ip

if [ $d3 -eq "20" ] || [ $d3 -eq "40" ] || [ $d3 -eq "00" ]; then

        /sbin/iptables -nvL INPUT|grep "DROP" |awk "$1<10 {print $8}">$tmpdir/good.ip

        if [ -s $tmpdir/good.ip ]; then

        for ip in `cat $tmpdir/good.ip`

        do

                /sbin/iptables -D INPUT -p tcp --dport 80 -s $ip -j DROP

                d4=`date +%Y%m%d-%H:%M`

                echo "$d4 $ip unblock" >>$tmpdir/unblock.ip

        done

        fi

        #解封后,再把iptables的计数器清零

        /sbin/iptables -Z INPUT

fi

if [ -s $tmpdir/bad.ip ] ; then

    for ip in `cat $tmpdir/bad.ip`

    do

        /sbin/iptables -A INPUT -p tcp --dport 80 -s $ip -j DROP

        d4=`date +%Y%m%d-%H:%M`

        echo "$d4 $ip block" >>$tmpdir/block.ip

    done

fi



- END -

出品 | 阿铭linux

shell习题171121-自动挂载磁盘

加私人微信:81677956  获取免费学习资料

shell习题171121-自动挂载磁盘

提升自己,才是世界上最稳健的投资

shell习题171121-自动挂载磁盘