#!/bin/bash # CRM 数据库备份脚本 set -e # 配置 BACKUP_DIR="/opt/backups/crm" DB_PATH="/opt/crm/src/data/crm.db" DATE=$(date +%Y%m%d_%H%M%S) RETENTION_DAYS=30 # 创建备份目录 mkdir -p $BACKUP_DIR # 备份数据库 echo "📦 开始备份数据库..." cp $DB_PATH $BACKUP_DIR/crm_$DATE.db # 压缩备份 cd $BACKUP_DIR gzip crm_$DATE.db echo "✅ 备份完成:crm_$DATE.db.gz" # 清理旧备份 echo "🧹 清理 ${RETENTION_DAYS} 天前的备份..." find $BACKUP_DIR -name "crm_*.db.gz" -mtime +$RETENTION_DAYS -delete echo "✅ 备份清理完成" # 显示备份列表 echo "" echo "📋 当前备份:" ls -lh $BACKUP_DIR/*.gz 2>/dev/null || echo "暂无备份"