宝塔面板实现定时任务删除 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
相关推荐
LucianaiB15 小时前
为什么企业都需要职场心理学分析专家?
后端
赵庆明老师15 小时前
VS2026扩展插件Visual Commander
java·开发语言
一只小鸟儿15 小时前
门户短信发送验证码及验证功能
前端·javascript·jquery
额呃呃15 小时前
信号量唤醒线程的实际机制
java·开发语言·jvm
程序员阿鹏15 小时前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
shhpeng15 小时前
Go语言中 的 defer 语句
开发语言·后端·golang
代码的奴隶(艾伦·耶格尔)15 小时前
Sentinel限流熔断
java·前端·sentinel
talenteddriver15 小时前
mysql: MySQL中between子句和limit子句的区别
前端·javascript·数据库
小徐Chao努力15 小时前
【Langchain4j-Java AI开发】02-模型参数配置与调优
java·开发语言·人工智能
啥都不懂的小小白15 小时前
CyclicBarrier深度解析:Java中的“循环栅栏“同步工具
java·juc·cyclicbarrier