美文网首页
Linux 定时删除日志

Linux 定时删除日志

作者: haoyq | 来源:发表于2019-01-03 12:20 被阅读0次

导语

项目中会生成各种各样的日志,随着时间的推移,日志也是越来越多。超过一定时间的日志就没有了参考的价值,也会占用空间,所以一般的项目都会删除日志。本篇文章的需求是删除 7 天之前的日志,大致分为两步,一是删除日志的命令,二是设置定时任务。

删除指定时间的日志

首先是查找所有 7 天前的日志,使用 find 查找的时候加上 -mtime 参数,其含义为 查找在指定时间曾被更改过的文件或目录,单位以24小时计算。实例为 find you/path -mtime +7 -name '*.log',如下

查找日志

查找完成了,接下来是删除。在上面语句的基础上,加上 -exec 参数可以实现删除,参数含义为 假设find指令的回传值为True,就执行该指令。所以完整的语句为 find you/path -mtime +7 -name '*.log' -exec rm -rf {} \;。实际执行下,删除 16 天之前的日志,不然下面没办法演示了

删除日志

16 天之前只有一条日志,执行后再次查找不存在,说明删除成功。

设置定时任务

最后将命令添加定时任务。关于 crontab 命令以及执行时间的设定,可以查看下方的参考资料。
添加之前先来看下 14 天之前的日志

查找日志

有一条日志。编辑定时任务,执行 crontab -e 将删除日志命令追加到末尾 */1 * * * * find you/path -mtime +14 -name '*.log' -exec rm -rf {} \;,设定为每分钟执行一次。稍等一分钟,再来查看 14 天之前的日志

查找日志

可以看到在添加定时任务之后,没有手动删除,日志已经被自动删除了。当然不需要每分钟来执行一次,将时间设定为每天 1 点的时间,最终定时任务以及删除日志命令如下
0 1 * * * find you/path -mtime +7 -name '*.log' -exec rm -rf {} \;

定时任务

参考资料:find 命令crontab 命令linux 利用crontab添加定时任务

相关文章

  • Linux 定时删除日志

    导语 项目中会生成各种各样的日志,随着时间的推移,日志也是越来越多。超过一定时间的日志就没有了参考的价值,也会占用...

  • linux 下创建定时任务

    本文以定时删除linux某些系统日志为例,创建每隔半小时删除指定文件(一些日志文件持续增长) 1、创建自动执行脚本...

  • linux定时删除日志脚本

    一、思路 定时删除日志,其实分为两个过程: 查找符合条件的日志并删除 定时过程1需要写一个查找脚本,过程2需要用到...

  • Windows和Linux下删除某天前日志文件的脚本

    无论是在windows下还是linux下,很多的日志文件如果不定时删除会充满硬盘,所以可以分别写个脚本定时处理一下...

  • linux操作集目录-持续更新中

    本笔集用于实际工作中常用问题解决手册,持续更新中 linux操作集-定时删除日志文件 linux操作集-SSHFS...

  • linux日志切割工具 logrotate

    1、介绍 Logrotate是linux日志切割工具 Logrotate是基于crontab定时任务实现的定时日志...

  • 定时删除日志

    crontab -e 测试: 观察1分钟,目录和日志被删除。

  • linux操作集-定时删除日志文件

    需求描述: 配置过程: 1 选择自己的脚本目录 2 创建脚本文件 3 配置脚本,定义find函数,删除目录/ap...

  • Linux使用总结

    ubuntu定时任务日志文件位置一般linux系统的定时任务的日志文件都在/var/log/cron.log,今天...

  • Linux应用总结:自动删除n天前日志

    Linux应用总结:自动删除n天前日志 linux是一个很能自动产生文件的系统,日志、邮件、备份等,日记月累日志会...

网友评论

      本文标题:Linux 定时删除日志

      本文链接:https://www.haomeiwen.com/subject/vgcxhqtx.html