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

加私人微信:81677956 获取免费学习资料
提升自己,才是世界上最稳健的投资。
- 每日一题 | 一级建造师考试-第26天
- 真题是最好的练习题—平哥逐题讲解14-17年新课标高考真题,马上
- 周六来一波公基练习题?
- 2018全国护士资格考试练习题
- 【西邮Linux技术分享】Linux Shell
- 初学者习题:死活精解
- 11月24日护理知识习题,模拟考场 挑战开始!
- 11月23日临床知识习题,模拟考场 挑战开始!
- linux shell命名管道FIFO
- 国考练习题:逻辑判断
