Some checks failed
Deploy / deploy (push) Has been cancelled
Full-stack web application for Telegram management - Frontend: Vue 3 + Vben Admin - Backend: NestJS - Features: User management, group broadcast, statistics 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
50 lines
1.2 KiB
Bash
Executable File
50 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 数据库备份脚本
|
|
# 使用方法: ./backup_database.sh
|
|
|
|
# 配置
|
|
DB_HOST="127.0.0.1"
|
|
DB_USER="root"
|
|
DB_PASSWORD=""
|
|
DB_NAME="tg_manage"
|
|
BACKUP_DIR="../backups"
|
|
DATE=$(date +"%Y%m%d_%H%M%S")
|
|
BACKUP_FILE="tg_manage_backup_${DATE}.sql"
|
|
|
|
# 创建备份目录
|
|
mkdir -p $BACKUP_DIR
|
|
|
|
echo "开始备份数据库..."
|
|
echo "数据库: $DB_NAME"
|
|
echo "备份文件: $BACKUP_DIR/$BACKUP_FILE"
|
|
|
|
# 执行备份
|
|
mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASSWORD \
|
|
--single-transaction \
|
|
--routines \
|
|
--triggers \
|
|
--complete-insert \
|
|
--add-drop-table \
|
|
--extended-insert=FALSE \
|
|
$DB_NAME > $BACKUP_DIR/$BACKUP_FILE
|
|
|
|
# 检查备份是否成功
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ 数据库备份成功!"
|
|
echo "备份文件大小: $(du -h $BACKUP_DIR/$BACKUP_FILE | cut -f1)"
|
|
|
|
# 压缩备份文件
|
|
gzip $BACKUP_DIR/$BACKUP_FILE
|
|
echo "✅ 备份文件已压缩: $BACKUP_DIR/$BACKUP_FILE.gz"
|
|
|
|
# 清理7天前的备份文件
|
|
find $BACKUP_DIR -name "tg_manage_backup_*.sql.gz" -mtime +7 -delete
|
|
echo "✅ 已清理7天前的旧备份文件"
|
|
|
|
else
|
|
echo "❌ 数据库备份失败!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "备份完成!" |