Linux命令应用(1):自动删除n天前日志 原创 Linux平台 2022年1月6日 16:36 夏至未至 1284 当前内容 965 字,在路上,马上到,马上到 ### 命令介绍 find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; ### 命令实操 find /data/log/ -mtime +30 -name "*.log" -exec rm -rf {} \; #### 命令功能 将/data/log/目录下所有30天前带".log"的文件删除。 #### 参数解释 - find:linux的查找命令,用户查找指定条件的文件; - /data/log/:想要进行清理的目录; - -mtime:标准语句写法; - +30:查找30天前的文件,数字代表天数; - "*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件; - -exec:固定写法; - rm -rf:强制删除文件,包括目录; - {} \; :固定写法,一对大括号+空格+\+; ### 命令扩展 每次手动执行语句麻烦,可将语句写到脚本文件中,再设置 cron 调度执行,那就可以让系统自动去清理相关文件。 #### 创建脚本 touch /data/log/auto-delete-log.sh chmod +x /data/log/auto-delete-log.sh #### 编辑脚本 vi /data/log/auto-delete-log.sh #### 编辑内容 #!/bin/sh find /data/log/ -mtime +30 -name "*.log" -exec rm -rf {} \; ok,保存退出(:wq)。 #### 计划任务 crontab -e 将 /data/log/auto-delete-log.sh 执行脚本加入到系统计划任务,到点自动执行 10 0 * * * /data/log/auto-delete-log.sh >/dev/null 2>&1 这里的设置是每天凌晨0点10分执行 /data/log/auto-delete-log.sh文件进行数据清理任务了。 本文标题: Linux命令应用(1):自动删除n天前日志 本文作者: 夏至未至 发布时间: 2022年1月6日 16:36 最近更新: 2022年1月14日 19:59 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 Linux(24) 定时删除(1) 上一个 Linux命令(1):wget 下一个 C++设计模式-访问者模式 当前文章评论暂未开放,请移步至留言处留言。