当前位置: 首页 > news >正文

Linux中定时删除10天前的日志文件

例如:删除/data/log/目录下所有10天前的.log文件

find /data/log/ -type f -name "*.log" -mtime +10 -exec rm -f {} \;

只查看要删除的文件有哪些,不真正删除文件

logfiles=$(find /data/log/ -type f -name "*.log" -mtime +10)
echo $logfiles

使用crontab添加一个定时任务,每天0点执行一次删除任务

  • 先写个脚本delete_old_logfile.sh删除10天前日志
#!/bin/bash
export PATH=/usr/sbin/:$PATHlogfiles=$(find /data/log/ -type f -name "*.log" -mtime +10)
if [ -n "${logfiles}" ]; thenfind /data/log/ -type f -name "*.log" -mtime +10 -exec rm -f {} \; echo "Delete old logfiles: ${logfiles}, ret: $?"
fi
  • 再配置crontab
echo '0 0 * * * (cd /path/to; delete_old_logfile.sh)' >> /var/spool/cron/root 

如何测试

/data/log目录下手动创建几个.log文件,用touch命令把文件的mtime改到10天前

touch -m -d "1999-01-01 00:00:00" /data/log/*.log 

手动修改系统时间到23:59:50, 观察0点钟crontab定时任务是否执行

date -s 23:59:50

参考

Linux文件的三个时间

http://www.lryc.cn/news/457608.html

相关文章:

  • 贝壳Android面试题及参考答案
  • 基于vue的酒店预订管理系统(源码+定制+开发)
  • FreeRTOS——TCB任务控制块、任务句柄、任务栈详解
  • 【STM32单片机_(HAL库)】4-5-2【定时器TIM】【感应开关盖垃圾桶项目】HC-SR04超声波模块实验
  • 安全网络架构
  • 【万字长文】Word2Vec计算详解(二)Skip-gram模型
  • 随机掉落的项目足迹:解决TypeError: Cannot read properties of undefined (reading ‘push‘)报错
  • ChatTTS 本地安装和测试
  • [Leetcode] 560 Subarray Sum Equals K
  • TCL Android面试题大全及参考答案
  • JVM错误:OutOfMemoryError: GC overhead limit exceeded
  • Unity网络开发 - C#开源网络通信库PESocket的使用
  • 【完-网络安全】Shell与脚本
  • 磁盘标签和分区标签
  • 关于摩托车一键启动无钥匙进入、智能科技创新
  • 怎么找矩阵系统,怎么源码搭建,源头技术开发需要哪些支持
  • 云原生化 - 工具镜像(简约版)
  • uni-app如何搭建项目(一步一步教程)
  • javascript中原型链(__proto__)与原型(prototype)
  • 基于多种机器学习的酒店客户流失预测模型的研究与实现
  • Unity实现自定义图集(三)
  • 【测开面试真题】
  • RelationGraph实现工单进度图——js技能提升
  • 针对脚本爬虫攻击的防御策略与实现
  • JVM发展历程
  • C语言 | Leetcode C语言题解之第470题用Rand7()实现Rand10()
  • 【JavaScript】拷贝对象的几种方式与对比
  • 高防服务器为何有时难以防御CC攻击及其对策
  • 性能测试工具locust —— Python脚本参数化!
  • Java中的拦截器、过滤器及监听器