频道栏目
首页 > 网络 > 其他 > 正文

文本处理三剑客之awk-CCAG-51CTO博客

2020-05-14 12:53:47           
收藏   我要投稿

1、编写脚本selinux.sh,实现开启或禁用SELinux功能

临时开启或禁用
[root@centos7 ~]# cat selinux.sh
#!/bin/bash
set -ue
[ $# -ne 1 ] && echo "usage:`basename $0` 0|1" && exit 10;

if [ $1 -eq 0 ]
then
    setenforce $1
    echo "diable selinux finished"
elif [ $1 -eq 1 ]
then
    setenforce $1
    echo "enable selinux finished"
else
    echo "usage:`basename $0` 0|1"
fi
永久开启或禁用
[root@centos7 ~]# cat selinux.sh
#!/bin/bash
set -ue
[ $# -ne 1 ] && echo "usage:`basename $0` 0|1" && exit 10;

if [ $1 -eq 0 ]
then
    sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
elif [ $1 -eq 1 ]
then
    sed -i.bak 's/SELINUX=disabled/SELINUX=enforcing/' /etc/sysconfig/selinux
else
    echo "usage:`basename $0` 0|1"
fi

重启系统生效

[root@centos7 ~]#reboot

2、统计/etc/fstab文件中每个文件系统类型出现的次数

[root@centos7 ~]# awk '/^[^#]/{type[$3]++}END{for(i in type) {print i,type[i]}}' /etc/fstab
swap 1
xfs 2

3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字

[root@centos7 ~]# echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" |tr -dc '[0-9]\n'
05973
[root@centos7 ~]#

4、解决DOS生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT

[root@centos7 ~]# crontab -l
*/5 * * * * sh /root/monitor.sh >/dev/null
[root@centos7 ~]# cat monitor.sh
#!/bin/bash
ip_num=`ss -t |awk -F [" ":]+ '/ESTAB/{ip[$6]++}END{for (i in ip) {print i,ip[i]}}'`
echo ${ip_num} |while read ip num
do
    if [ $num -gt 10 ];then 
    iptables -A INPUT -s $ip -j REJECT
    fi
done 
相关TAG标签
上一篇:linux服务器管理面板推荐哪个-欢乐马在51的博客-51CTO博客
下一篇:杰蛙&博云 强强联手带你走进【企业级DevOps转型之旅】-JFrog 杰蛙中国-51CTO博客
相关文章
图文推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站