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

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/:$PATH

logfiles=$(find /data/log/ -type f -name "*.log" -mtime +10)
if [ -n "${logfiles}" ]; then
    find /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.kler.cn/news/341945.html

相关文章:

  • HTTPS协议和密码套件在AWS中的应用
  • vue2项目的路由使用history模式,刷新会导致页面404的问题
  • [SAP ABAP] LIKE TABLE OF
  • 按分类调用标签 调用指定分类下的TAG
  • 等保测评1.0到2.0的演变发展
  • 保护企业知识产权!推荐十款源代码加密软件
  • UM-Net: 重新思考用于息肉分割的ICGNet,结合不确定性建模|文献速递-基于多模态-半监督深度学习的病理学诊断与病灶分割
  • 压缩包格式详解:RAR、ZIP、7z等格式的优劣与使用场景
  • Linux进程间通信(个人笔记)
  • JavaScript编程语言
  • 如何进行数据中心负载测试的自动化?
  • Java之方法
  • Spark练习json文件-统计问答数据
  • 5、python基础语法
  • 使用 Go 和 Gin 框架构建简单的用户和物品管理 Web 服务
  • 【软件工程】数据流图DFD
  • 告别下载龟速,拥抱IDM6.42版本下载器!飞一般感觉!
  • java方法对象案例
  • underfill胶水的作用是什么?
  • 【Linux第一弹】- 基本指令