🚀 主要功能: - 完善后端API服务层,实现完整的CRUD操作 - 开发管理后台所有核心页面 (仪表板、照片、分类、标签、用户、设置) - 完成前后端完全集成,所有API接口正常对接 - 配置完整的CI/CD流水线,支持自动化部署 🎯 后端完善: - 实现PhotoService, CategoryService, TagService, UserService - 添加完整的API处理器和路由配置 - 支持Docker容器化部署 - 添加数据库迁移和健康检查 🎨 管理后台完成: - 仪表板: 实时统计数据展示 - 照片管理: 完整的CRUD操作,支持批量处理 - 分类管理: 树形结构展示和管理 - 标签管理: 颜色标签和统计信息 - 用户管理: 角色权限控制 - 系统设置: 多标签配置界面 - 添加pre-commit代码质量检查 🔧 部署配置: - Docker Compose完整配置 - 后端CI/CD流水线 (Docker部署) - 管理后台CI/CD流水线 (静态文件部署) - 前端CI/CD流水线优化 - 自动化脚本: 部署、备份、监控 - 完整的部署文档和运维指南 ✅ 集成完成: - 所有API接口正常连接 - 认证系统完整集成 - 数据获取和状态管理 - 错误处理和用户反馈 - 响应式设计优化
65 lines
1.7 KiB
Bash
Executable File
65 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 数据库备份脚本
|
|
# 使用方法: ./scripts/backup.sh
|
|
|
|
set -e
|
|
|
|
# 配置变量
|
|
DB_HOST="${DB_HOST:-localhost}"
|
|
DB_NAME="${DB_NAME:-photography}"
|
|
DB_USER="${DB_USER:-postgres}"
|
|
BACKUP_DIR="/home/gitea/backups/database"
|
|
DATE=$(date +%Y%m%d-%H%M%S)
|
|
|
|
echo "🗄️ 开始数据库备份..."
|
|
|
|
# 创建备份目录
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
# 检查数据库连接
|
|
echo "🔍 检查数据库连接..."
|
|
if ! pg_isready -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME"; then
|
|
echo "❌ 数据库连接失败"
|
|
exit 1
|
|
fi
|
|
|
|
# 执行备份
|
|
echo "📦 执行数据库备份..."
|
|
pg_dump -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" \
|
|
--no-password --verbose --clean --no-acl --no-owner \
|
|
-f "$BACKUP_DIR/photography-$DATE.sql"
|
|
|
|
# 检查备份文件
|
|
if [ ! -f "$BACKUP_DIR/photography-$DATE.sql" ]; then
|
|
echo "❌ 备份文件创建失败"
|
|
exit 1
|
|
fi
|
|
|
|
# 压缩备份文件
|
|
echo "🗜️ 压缩备份文件..."
|
|
gzip "$BACKUP_DIR/photography-$DATE.sql"
|
|
|
|
# 检查压缩文件
|
|
if [ ! -f "$BACKUP_DIR/photography-$DATE.sql.gz" ]; then
|
|
echo "❌ 备份文件压缩失败"
|
|
exit 1
|
|
fi
|
|
|
|
# 设置权限
|
|
chmod 600 "$BACKUP_DIR/photography-$DATE.sql.gz"
|
|
chown gitea:gitea "$BACKUP_DIR/photography-$DATE.sql.gz"
|
|
|
|
# 清理旧备份 (保留最近7天)
|
|
echo "🧹 清理旧备份..."
|
|
find "$BACKUP_DIR" -name "photography-*.sql.gz" -mtime +7 -delete
|
|
|
|
echo "✅ 数据库备份完成!"
|
|
echo "📁 备份文件: $BACKUP_DIR/photography-$DATE.sql.gz"
|
|
echo "📊 文件大小: $(du -sh $BACKUP_DIR/photography-$DATE.sql.gz | cut -f1)"
|
|
|
|
# 显示备份统计
|
|
echo "📈 备份统计:"
|
|
echo " 总备份数: $(ls -1 $BACKUP_DIR/photography-*.sql.gz | wc -l)"
|
|
echo " 总备份大小: $(du -sh $BACKUP_DIR | cut -f1)"
|
|
echo " 最新备份: $(ls -t $BACKUP_DIR/photography-*.sql.gz | head -n 1)" |