一、Linux Tomcat日志备份策略
Tomcat日志默认存储在$CATALINA_BASE/logs目录(如/opt/tomcat/logs或/var/log/tomcat),核心日志包括catalina.out(主输出日志)、localhost.log(主机相关日志)、manager.log(应用管理日志)等。可通过sudo find / -type d -name "logs" 2>/dev/null | grep tomcat命令快速查找日志目录。
tar命令将日志目录打包压缩,减少存储占用。例如:sudo tar czvf tomcat_logs_backup_$(date +%Y%m%d).tar.gz /opt/tomcat/logs。backup_tomcat_logs.sh,包含日志复制、压缩、清理过期日志的逻辑。示例如下:#!/bin/bash
LOG_PATH="/opt/tomcat/logs"
BACKUP_DIR="/backups/tomcat"
DATE=$(date +%Y-%m-%d)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 备份catalina.out(保留当天日志)
cp $LOG_PATH/catalina.out $BACKUP_DIR/catalina.$DATE.log
# 压缩其他日志文件
gzip $LOG_PATH/*.log
# 删除7天前的日志(保留近7天)
find $LOG_PATH -mtime +7 -name "catalina.*.log.gz" -exec rm -rf {} \;
find $LOG_PATH -mtime +7 -name "localhost.*.log.gz" -exec rm -rf {} \;
chmod +x /path/to/backup_tomcat_logs.sh。crontab -e添加定时任务,例如每天凌晨2点执行备份:0 2 * * * /path/to/backup_tomcat_logs.sh。logrotate是Linux系统自带的日志管理工具,可实现自动轮转、压缩、清理。配置步骤如下:
/etc/logrotate.d/下新建tomcat文件,内容如下:/opt/tomcat/logs/catalina.out {
daily # 每天轮转
rotate 7 # 保留7份
compress # 压缩旧日志(gzip)
missingok # 日志不存在时不报错
notifempty # 日志为空时不轮转
copytruncate # 复制原日志后清空,避免重启Tomcat
}
/opt/tomcat/logs/*.log {
daily
rotate 30
compress
missingok
notifempty
sharedscripts
postrotate
systemctl reload tomcat > /dev/null # 重新加载Tomcat配置
endscript
}
logrotate -d /etc/logrotate.d/tomcat测试配置是否正确;logrotate -f /etc/logrotate.d/tomcat强制立即执行。系统会自动每天执行该配置。gpg加密压缩包),防止数据泄露。二、Linux Tomcat日志恢复策略
sudo systemctl stop tomcat。cd /backups/tomcat && tar xzvf tomcat_logs_backup_20250901.tar.gz。sudo cp -R /backups/tomcat/logs/* /opt/tomcat/logs/。sudo systemctl start tomcat。