首页 > 数据库 >自已写的shell小程序: 查询删除lua+redis和conf配置的nginx黑名单

自已写的shell小程序: 查询删除lua+redis和conf配置的nginx黑名单

时间:2024-03-05 11:02:19浏览次数:29  
标签:REDIS shell IP redis echo nginx conf CHECK

#!/bin/bash
#定义一些变量
REDIS_HOST=192.168.10.38 
REDIS_PORT=6370          
REDIS_AUTH=123456
NGINX_BLOCKIPCONF_PATH=/data/software/openresty/nginx/conf.d/block_ip.conf
#接收需要查询的IP地址
echo -e "查询被www.baiinfo.com屏蔽的IP地址,请输入精确的IP地址 (支持格式: x.x.x. 或 x.x.x.x): "
read CHECK_IP
KEYS=$(echo "get website:incr$CHECK_IP")
DEL_KEYS=$(echo "del website:incr$CHECK_IP")
#判断lua的redis容器内IP是否存在,即已经拉入黑名单
RESULT=$(docker exec traffic_ip_redis redis-cli -p $REDIS_PORT -a $REDIS_AUTH --no-auth-warning $KEYS)

if [[ $RESULT -eq 1 ]]
then
        echo -e "\n \033[31m 发现! \033[0m 您要查询的$CHECK_IP存在于traffic_ip_redis黑名单中."
        echo -e "请确认是否删除? 确认输入(y),否则输入(n). "
        read AGR_DEL
        if [[ "$AGR_DEL" = "y" ]]
        then
               docker exec traffic_ip_redis redis-cli -p $REDIS_PORT -a $REDIS_AUTH --no-auth-warning $DEL_KEYS
               echo -e "删除成功! \n"
        else
               echo -e "删除失败! \n"
        fi
else
        echo -e "\n 您要查询的$CHECK_IP不在traffic_ip_redis黑名单中."
fi
#判断nginx的.conf配置文件中IP是否存在,即已经拉入nginx拒绝访问IP名单中
RESULT2=$(cat $NGINX_BLOCKIPCONF_PATH | grep $CHECK_IP | wc -l)
if [[ $RESULT2 -eq 0 ]]
then
        echo -e "\n 您要查询的$CHECK_IP不在nginx配置文件block_ip.conf的黑名单中."
else
        echo -e "\n \033[31m 发现! \033[0m 您要查询的$CHECK_IP存在于nginx配置文件block_ip.conf的黑名单中."
        echo -e "请确认是否删除? 确认输入(y), 否则输入(n). "
        read AGR_DEL2
        if [[ "$AGR_DEL2" = "y" ]]
        then
                sed -i "/$CHECK_IP/d" $NGINX_BLOCKIPCONF_PATH
                echo -e "删除成功! 注意修改conf配置文件需要手动重新容器!"
        else
                echo -e "删除失败! \n"
        fi
fi

 

标签:REDIS,shell,IP,redis,echo,nginx,conf,CHECK
From: https://www.cnblogs.com/zhaolongisme/p/18053515

相关文章

  • macOS14使用brew下载Redis时出现的问题和解决方法
    当我使用brew下载redis时系统:macOS14(base)hanxuxian@hanxuxiandeMacBook-Air~%brewinstallredis报错信息:Error:git:unknownorunsupportedmacOSversion::dunnoError:'git'mustbeinstalledandinyourPATH!Warning:YouareusingmacOS14.Wedon......
  • Redis - 字典的实现与哈希冲突解决
    1.字典的实现edis的字典数据类型的实现主要分为两个部分:typedefstructdict{dictType*type;void*privdata;dicththt[2];longrehashidx;unsignedlongiterators;}dict;其中,type属性表示字典的类型,而privdata属性表示字典的私有数据,它是......
  • Redis学习之路
    Redis代码成就万世基积沙镇海梦想永在凌云意意气风发一.是什么,有什么用用来解决数据量太大。数据索引太大,内存放不下。读写量(读写混合),单独的服务器承受不了。减轻服务器压力,使用缓存来保证效率(主要是用来解决读的问题)。Cache有时间局部性和空间局部性垂......
  • Redis整合Springboot
    六.巅峰1.事务Redis单条命令保证原子性,但是事务不保证原子性原子性:要么同时成功,要么同时失败Redis的事物本质:一组命令的集合,一个事务中的所有命令都会被序列化,事务执行过程中,会按照顺序执行。具有一次性,顺序性,排他性(没有隔离级别的概念)所有的命令在事务中,并没有直接执行,只有......
  • nginx在windows下的使用一
    一、nginx常用配置介绍:server块:是什么意思呢?每一个server其实它跟一个虚拟主机有关,虚拟主机就是说从用户的角度来说,一个虚拟主机就是一台独立的机器。有独立的硬件、网络等等。那么每个http块里面有多个server块,意味着一个http块里面有多个独立的虚拟主机。比如这段配置解释:ser......
  • Shell 获取网卡名称及对应ip脚本
    以下是一个使用ifconfig获取网卡名及对应IP的简单Shell脚本:#!/bin/bashecho"网卡名和对应IP:">output.txt#使用ifconfig命令获取网卡信息,并使用awk进行处理ifconfig|awk'/^[a-zA-Z0-9]+/{interface=$1;next}/inet/{printinterface":"$2}'>>out......
  • Redis在游戏开发中的几种应用场景
    Redis特点1.内存数据库Redis数据主要存储在内存,综合性能标准100k+QPS。需要说明下,十万QPS只是个综合参考,实际性能跟CPU性能、操作的命令复杂度有较大关系,对于简单的set/get操作50万QPS也没问题。2.丰富的数据结构所有Redis的数据都是以key-value键值对的形式存在......
  • 菜刀、冰蝎、蚁剑、哥斯拉Webshell流量特征
    1.冰蝎流量特征:Accept有自己专属的流量特征,查看content-Length长度。对上传参数base64进行解码,再代码末端再次解码。可看上传流量具体操作。再response也可查看揭秘参数后的流量 2.哥斯拉流量特征:content-Length:数据包长度达万个Cookie流量包后面存在分号;  3.菜刀......
  • 【Redis】Redis如何保证和MySQL数据库的数据一致性
    保障MySQL和Redis数据一致性需要使用不同的策略和技术,因为两者是不同的数据存储系统。以下是一些常见的方法:1.数据同步MySQL数据同步至Redis使用事件驱动机制:当MySQL中的数据更新时,通过触发器或者其他事件驱动的机制,将数据同步至Redis。定时任务:定期轮询MySQL数据......
  • laravel8 + redis 队列
      执行命令生成job: phpartisanmake:job自定义名称修改queue.php配置文件'redis'=>['driver'=>'redis','connection'=>'queue',【databases.php中单独配置一个redis的链接名为queue】'queue'=>en......