CentOS Tomcat日志备份策略

策略总览
本地轮转与清理
/opt/tomcat/logs/catalina.out {dailyrotate 30size 100Mcopytruncatecompressdelaycompressdateextdateformat .%Y-%m-%dmissingoknotifemptysu tomcat tomcat}要点说明:/opt/tomcat/logs/*.log {dailyrotate 14compressmissingoknotifemptycreate 640 tomcat tomcatsu tomcat tomcat}logrotate -f /etc/logrotate.d/tomcatlogrotate -d /etc/logrotate.d/tomcat # 语法/规则校验异地与离线归档
#!/bin/bashset -eTOMCAT_LOGS="/opt/tomcat/logs"BACKUP_BASE="/backup/tomcat"KEEP_LOCAL_DAYS=7ARCHIVE_DAYS=30mkdir -p "$BACKUP_BASE/archive"# 1) 打包昨天的已轮转日志(如 catalina.out-2025-12-22.gz)YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)cd "$TOMCAT_LOGS" || exit 1ARCHIVE_FILE="$BACKUP_BASE/archive/tomcat_logs_${YESTERDAY}.tar.gz"find . -maxdepth 1 -name "*${YESTERDAY}*.gz" -print0 | xargs -0 tar -czf "$ARCHIVE_FILE" --remove-files 2>/dev/null || true# 2) 清理本地旧归档find "$TOMCAT_LOGS" -name "*.gz" -mtime +$KEEP_LOCAL_DAYS -deletefind "$BACKUP_BASE/archive" -name "*.tar.gz" -mtime +$ARCHIVE_DAYS -delete# 3) (可选)同步到远程存储(示例:rsync 到备份服务器)# rsync -avz --delete "$BACKUP_BASE/archive/" [email protected]:/data/tomcat/0 2 * * * /usr/local/bin/tomcat_log_archive.sh >> /var/log/tomcat_archive.log 2>&1监控与容量规划