linux Shell脚本清空7天前的日志

日志类型

catalina.out日志

catalina.out其实是tomcat的标准输出(stdout)和标准出错(stderr),这是在tomcat的启动脚本里指定的,如果没有修改的话stdout和stderr会重定向到这里。所以我们在应用里使用System.out打印的东西都会到这里来。另外,如果我们在应用里使用其他的日志框架,配置了向Console输出的,则也会在这里出现。比如以logback为例,如果配置ch.qos.logback.core.ConsoleAppender则会输出到catalina.out里。

catalina.YYYY-MM-DD.log 日志

catalina.{yyyy-MM-dd}.log 是 Tomcat 自己运行的一些日志,主要记录 Tomcat 在启动和暂停时的运行内容。

localhost.YYYY-MM-DD.log

localhost.{yyyy-MM-dd}.log 主要是应用初始化(listener, filter, servlet)未处理的异常最后被 Tomcat 捕获而输出的日志,它也是包含 Tomcat 的启动和暂停时的运行日志,但它没有 catalina.YYYY-MM-DD.log 日志全。

localhost_access_log.YYYY-MM-DD.txt

Tomcat 的请求访问日志,请求的时间,请求的类型,请求的资源和返回的状态码都有记录。配置这个日志非常有必要,可以让我们清楚的看清请求的状况。

查看分析磁盘信息及一些命令

#当前磁盘空间占用情况
df -h
#当前目录文件大小列表
ll -lh
#文件列表按时间排序
ll -rt
#文件大小列表,按时间排序
ll -lhrt
#查询7天前的日志
find  * -name '*.log' -mtime +7
#删除7天前的日志
find  * -name '*.log' -mtime +7 -exec rm -rf {} ;

1. 创建.sh脚本,并且添加需要执行的命令。

touch auto_del_7_days_ago_log.sh

find /home/tomcat-linux/logs/ -mtime +7 -name "*.log" -exec rm -rf "{}" \;

#添加执行权限
chmod +x auto_del_7_days_ago_log.sh

-atime 表示:access time,即文件的最近的一次访问时间,+n意思为查找n天以前的文件,-n为查找n天以内的文件;
-ctime:就是change time,文件状态最新改变的时间。文件有一些个基本的属性,权限,用户,组,大小,修改时间等,只要是这些信息变化了,那么ctime都会发生变化。
-mtime:为modify time,即文件数据最新的修改时间,指的就是文件内容的最新修改时间

2.将文件添加到定时任务中

#编辑定时任务

crontab -e

#新增任务

0 0 * * * sh /home/tomcat-linux/logs/auto_del_7_days_ago_log.sh
#解释:“0 0* * * ”对应“分 时 日 月 周”,该设置为:每天0点0分执行“sh /home/tomcat-linux/logs/auto_del_7_days_ago_log.sh”。

#保存退出

:wq!

#重启 “crond.service”服务

systemctl restart crond.service 

#查询定时任务列表信息

crontab -l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gary jie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值