linux 清理 /home目录修改时间超过3天的.html文件
时间: 2023-02-09 17:15:43 浏览: 52
在终端中输入以下命令:
```
find /home -name "*.html" -mtime +3 -exec rm {} \;
```
这会在 /home 目录中查找所有修改时间超过3天的 .html 文件并删除它们。
相关问题
一次性讲完,用linux编写一个通用的实时在后台监测防止ddos攻击脚本,每20秒钟检测一次(shell变量配置),直接给出完整的案例,无需解释,限制每个ip每秒钟和服务器建立的最大TCP连接数(shell变量配置),并增加日志记录功能,超过最大连接数则要记录时间、攻击者ip、访问端口、协议、携带报文、建立的tcp连接总数等信息保存到/home/ddos目录下(shell变量配置),每个日志文件最大100MB(shell变量配置,自动清理3天以前的日志),超过100MB则要重新生成新文件,以生成时间命名(精确到毫秒),并封禁该ip(已经封禁过的无需再次封禁),保存到/home/ddos/blackIpList.txt(shell变量配置),
以下是一个示例脚本,注意这仅仅是一个示例,并不能直接使用,需要根据实际情况进行修改:
```
#!/bin/bash
# 配置参数
check_interval=20 # 检测间隔,单位为秒
max_conn=10 # 每秒最大连接数
log_dir="/home/ddos" # 日志目录
log_size=100 # 日志文件大小,单位为MB
ban_time=3600 # 封禁时长,单位为秒
# 循环检测
while :
do
# 获取当前时间
now=`date +%s`
# 获取每个 IP 每秒建立的 TCP 连接数
# -n 指定时间间隔,单位为秒,此处为 1 秒
# -z 指定统计时间粒度,单位为秒,此处为 1 秒
# -s 指定过滤器,此处为 tcp 连接建立
# -v 指定统计值,此处为 ip 数量
# -x 指定过滤器补充信息,此处为端口
# -i 指定网卡
# -o 指定输出格式,此处为 CSV 格式
# 以上命令会输出如下数据:
# 时间戳,端口,IP地址,数量
# 其中时间戳是从 1970-01-01 00:00:00 开始的秒数
conn_data=`tcpdump -n -z 1 -s 0 -v -x -i eth0 -oX - 'tcp[tcpflags] & (tcp-syn) != 0' | awk -F"," '{print $1","$5","$6","$10}'`
# 遍历每个 IP
while read line
用linux编写一个通用的实时在后台监测防止ddos攻击脚本,直接给出完整的案例,无需解释,要求有白名单列表,多个白名单用逗号隔开,排除本地所有网卡ip,每20秒钟检测一次(shell变量配置),限制每个ip每秒钟和服务器建立的最大TCP连接数(shell变量配置),并增加日志记录功能,超过最大连接数则要记录时间、攻击者ip、访问端口、协议、携带报文、建立的tcp连接总数等信息保存到/home/ddos目录下(shell变量配置),每个日志文件最大100MB(shell变量配置,自动清理3天以前的日志),超过100MB则要重新生成新文件,以生成时间命名(精确到毫秒),并使用iptables立即封禁该ip(已经封禁过的无需再次封禁),保存到/home/ddos/blackIpList.txt(shell变量配置),以上代码中文件或者目录不存在的需要自动进行创建,灵活发挥,减少人工干预和出错概率
以下是一个示例脚本,请注意,这只是一个示例,并不能保证完全能够满足所有情况:
```
#!/bin/bash
# 设置变量
whiteList="192.168.1.1,192.168.1.2"
maxConnectionPerIpPerSecond=50
logDir="/home/ddos"
logFileMaxSize=100MB
logKeepDays=3
blackIpListFile="/home/ddos/blackIpList.txt"
# 如果目录或文件不存在,则创建
[ ! -d "$logDir" ] && mkdir -p "$logDir"
[ ! -f "$blackIpListFile" ] && touch "$blackIpListFile"
# 获取本地所有网卡的IP地址
localIps=$(ip addr | grep 'inet ' | awk '{print $2}' | cut -d '/' -f 1)
# 每20秒检测一次
while true
do
# 获取当前时间
now=$(date +"%Y%m%d%H%M%S%3N")
# 获取每个IP的TCP连接数
ipConnectionCount=$(ss -ant | awk '{print $5}' | grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -c)
# 遍历每个IP
while read -r line
do
# 获取IP地址和连接数
count=$(echo "$line" | awk '{print $1}')
ip=$(echo "$line" | awk '{print $2}')
# 如果不在白名单内,且连接数大于最大值,则记录日志并封禁
if ! echo "$whiteList" | grep -q "$ip" && [ "$count" -gt "$maxConnectionPerIpPerSecond" ]
then
# 记录日志
echo "$now $ip $count" >> "$logDir/$now.log"
# 封禁IP
iptables -I INPUT -s "$ip" -j DROP
echo "$ip" >> "$blackIpListFile"
fi
done <<< "$ipConnectionCount"
# 清理过期日志
find "$logDir"
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)