sudo systemctl stop tomcat
sudo tar -czvf /backup/tomcat_logs_$(date +%Y%m%d).tar.gz /var/log/tomcat
sudo systemctl start tomcat
/opt/scripts/backup_tomcat_logs.sh:#!/bin/bash
LOG_PATH="/var/log/tomcat"
BACKUP_PATH="/backup/tomcat_logs"
DATE=$(date +%Y%m%d)
mkdir -p $BACKUP_PATH
tar -czvf $BACKUP_PATH/tomcat_logs_$DATE.tar.gz $LOG_PATH
find $BACKUP_PATH -name "tomcat_logs_*.tar.gz" -mtime +30 -exec rm -rf {} \;
chmod +x /opt/scripts/backup_tomcat_logs.sh
crontab -e
# 添加以下内容(每天凌晨2点执行):
0 2 * * * /opt/scripts/backup_tomcat_logs.sh
/etc/logrotate.d/tomcat:/var/log/tomcat/*.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
sudo logrotate -f /etc/logrotate.d/tomcat
chmod 700 /backup),敏感数据可加密。| 工具 | 优点 | 适用场景 |
|---|---|---|
| 手动备份 | 简单直接,适合临时需求 | 小规模、低频次备份 |
| Shell脚本 | 灵活可控,可集成其他操作 | 中等规模、需定制化备份 |
| logrotate | 系统原生支持,自动轮转压缩 | 大规模、高频次日志管理 |
参考来源: