问题描述
经常遇到日志文件过多,占用大量磁盘空间,需要定期删除过期日志。
各种应用产生的日志都有可能刷爆你的服务器,为了防止这种问题,设置个任务就开源搞定了.
问题涉及方面
删除过期日志的脚本。
定时任务
删除任务脚本
先查询到过期的日志文件,然后删除。
语法
find path -option [ -print ] [ -exec -ok command ] {} \;
参数说明 :
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写 -mtime n 按照文件的更改时间来找文件,n为整数。
n 表示文件更改时间距离为n天
-n 表示文件更改时间距离在n天以内
+n 表示文件更改时间距离在n天以前
实例脚本
删除超过7天的文件
#!/bin/sh
find /home/ant/druid/apache-druid-0.13.0-incubating/logs -name "peon-*" -mtime +7 -exec rm -rf {} \;
定时任务
crontab -l
查看定时任务列表。
crontab -e
创建定时任务
50 23 * * * /home/ant/druid/delete-outofdate-logs.sh
领取专属 10元无门槛券
私享最新 技术干货