Linux中定时删除指定日期和天数的log日志文件

这篇具有很好参考价值的文章主要介绍了Linux中定时删除指定日期和天数的log日志文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

不管是测试环境还是正式环境,由于我们运行的服务往往会产生大量的日志文件,如果忘记清理,容易造成磁盘空间不足,因此最好是利用 linux 自带的定时任务功能去定时清理日志.

1.创建 shell脚本,赋权限

vim clean_tomcatlog.sh
chmod +x clean_tomcatlog.sh

2.编写脚本(可以对多个路径下的文件进行删除,只需将find一行复制改成相应要删除的路径即可)

find /data/jinhua/apache-tomcat-8.5.51/logs/gm-uums/ -mtime +0 -name "*.log.*" -exec rm -rf {} \;
find /data/jinhua/apache-tomcat-8.5.51/logs/gm-uums/ -mtime +0 -name "*.log" -exec rm -rf {} \;

shell脚本说明:

find:Linux查找命令,用户查找指定条件的文件

/opt/rh/log/:需要进行清理的目标目录

-mtime:+10 :数字代表天数

-name "*.log.*":目标文件的类型,带有log的所有文件

-exec:固定写法

rm -rf:强制删除包括目录在内的文件

{} \;:固定写法,一对大括号+空格+\+;
 

重点说说mtime参数:
-mtime n 按照文件的更改时间来找文件,n为整数。

n 表示文件更改时间距离为n天
-n 表示文件更改时间距离在n天以内
+n 表示文件更改时间距离在n天以前
例:

-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。
-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。
-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件
-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

3.测试脚本

./clean_tomcatlog.sh

若文件可以被删除,就说明脚本没问题

4.定时器

 查看定时器

crontab -l

编辑定时器

crontab -e

5.编辑定时任务(我设置的是每月1号0点执行)

0  0  1  *  * /data/jinhua/shell/clean_tomcatlog.sh
分 时 日 月  周
  1. M: 分钟(0-59)。每分钟用*或者 */1表示

  2. H:小时(0-23)。(0表示0点)

  3. D:天(1-31)。

  4. m: 月(1-12)。

  5. d: 一星期内的天(0~6,0为星期天)    

6.重启crontab 服务

service crond restart

7.查询定时任务

crontab -l

即可看到刚创建的定时任务,至此搞定!文章来源地址https://www.toymoban.com/news/detail-581002.html

到了这里,关于Linux中定时删除指定日期和天数的log日志文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包