日志类型
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