宝塔面板实现定时任务删除 logs文件 加条件删除 只删除一个月前的日志

我们在开发中难免用到了日志功能,随着日志越来越多导致占用我们的内存 下面是一个简单的 使用宝塔面板里面的定时任务来实现删除日志案例

第一步

  1. 首先我的日志文件目录 都在log文件夹里面, 每个月生成一个日志文件夹 文件夹命名是年月来命名的

第二步

  1. 我们先获取当前文件夹的路径 右键属性 复制文件路径 待会儿我们就要删除这个文件下的 日志

第三步

进入到计划任务 点击添加任务 默认选择 shell脚本

第四步脚本内容

我这里的shell脚本是 删除当前月以前的时间数据

复制代码
#!/bin/bash

# 获取当前年份和月份
YEAR=$(date +%Y)
MONTH=$(date +%m)

# 遍历runtime/los目录下的所有文件夹
for folder in $(ls -d /www/wwwroot/test.com/runtime/log/*/); do
    # 获取文件夹名称中的年份和月份
    folder_year=$(basename "$folder" | cut -c 1-4)
    folder_month=$(basename "$folder" | cut -c 5-6)

    # 比较文件夹年份和月份是否小于当前年份和月份
    if [[ "$folder_year$folder_month" < "$YEAR$MONTH" ]]; then
        echo "Deleting $folder"
        rm -rf "$folder"
    fi
done
相关推荐
螺丝钉tina2 分钟前
[Playwright ][16]Playwright + TypeScript API 自动化测试实战:API测试
前端·javascript·typescript
苍何14 分钟前
DeepSeek的Super-agent 设计,和我们的工程实践
后端
Patrick_Wilson34 分钟前
第一次读 Go 项目:从两个源码文件弄清 package、import 和 go.mod
后端·go·编程语言
代码山河35 分钟前
基本类型转换:自动类型转换与强制类型转换
java·学习·架构·教程·面向对象·项目
Patrick_Wilson35 分钟前
执行 go build . 后,Go 怎样找到代码并生成程序
后端·go·编程语言
用户69190268133938 分钟前
Redis 2:Redis 在怎么处理harness记忆
后端
Patrick_Wilson41 分钟前
Go 变量不赋值时,为什么也有值
后端·go·编程语言
Patrick_Wilson41 分钟前
读 Go 项目里的命令:run、build、test 分别做了什么
后端·go·编程语言
Escalating_xu2 小时前
【Linux 网络编程】五种 I/O 模型与非阻塞 I/O:从“等数据”到正确处理 EAGAIN
java·linux·网络
程序猿乐锅2 小时前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight