当前位置: 首页 > 编程笔记 >

Linux定时删除日志的简单实现方法

乐正心水
2023-03-14
本文向大家介绍Linux定时删除日志的简单实现方法,包括了Linux定时删除日志的简单实现方法的使用技巧和注意事项,需要的朋友参考一下

导语

linux是一个很能自动产生文件的系统,日志、邮件、备份等。虽然现在硬盘廉价,我们可以有很多硬盘空间供这些文件浪费,让系统定时清理一些不需要的文件很有一种爽快的事情。

项目中会生成各种各样的日志,随着时间的推移,日志也是越来越多。超过一定时间的日志就没有了参考的价值,也会占用空间,所以一般的项目都会删除日志。本篇文章的需求是删除 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添加定时任务。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。

 类似资料:
  • 本文向大家介绍php+ajax简单实现全选删除的方法,包括了php+ajax简单实现全选删除的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php+ajax简单实现全选删除的方法。分享给大家供大家参考,具体如下: ↑全选checkbox ↑为删除项,同一命名class为ckb,方便操作,同时将id值巧妙的放入input中,方便获取。 ↑选中事件 ↑删除用ajax来处理。 ↓后台操作数

  • 本文向大家介绍php批量删除cookie的简单实现方法,包括了php批量删除cookie的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php批量删除cookie的简单实现方法。分享给大家供大家参考。具体实现方法如下: 知识要点:如果把某个网站的所有cookie都删除了,则保存该网站cookie的文件,也将会被删除;如果只是删除其中一个cookie,则只在文件里的该cooki

  • 本文向大家介绍linux实现定时备份mysql数据库的简单方法,包括了linux实现定时备份mysql数据库的简单方法的使用技巧和注意事项,需要的朋友参考一下 以下是详细步骤: 1、查看磁盘空间情况: 选择合适磁盘存放备份文件 2、创建备份目录: 3、创建备份Shell脚本: 在创建的目录下创建备份脚本(vi bkDatabaseName.sh) 注: bkDatabaseName.sh 替换成有

  • 本文向大家介绍nginx日志按天生成和定期删除日志的方法,包括了nginx日志按天生成和定期删除日志的方法的使用技巧和注意事项,需要的朋友参考一下 问题:nginx会按照nginx.conf的配置生成access.log和error.log,随着访问量的增长,日志文件会越来越大,既会影响访问的速度(写入日志时间延长),也会增加查找日志的难度,nginx没有这种按天或更细粒度生成日志的机制。所以下面

  • 本文向大家介绍jQuery简单实现日历的方法,包括了jQuery简单实现日历的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery简单实现日历的方法。分享给大家供大家参考。具体分析如下: 原理挺简单的,首先算出一个月有多少天,再算出这个月的第一天是星期几,接着顺序排下来就可以了. 希望本文所述对大家的jQuery程序设计有所帮助。

  • 本文向大家介绍Linux使用shell脚本定时删除历史日志文件,包括了Linux使用shell脚本定时删除历史日志文件的使用技巧和注意事项,需要的朋友参考一下 1、tools目录文件结构 2、删除历史文件脚本 del_history_files 3、删除历史文件脚本的配置文件 del_history_files.cfg 4、crontab 执行即可 以上就是本文的全部内容,希望对大家的学习有所帮助