feat(ops): 每日数据库备份 + 资金异常巡检告警 + 后台操作审计
- 新增 system_alerts/admin_audit_logs 表与 (status,created_at) 索引;启动即巡检、每 5 分钟扫描提现卡单/支付与订单不一致/待接单超时 - 后台新增「系统告警与操作审计」页(告警处理 + 审计列表),并接入消息铃铛待办 - 余额调整/封禁/删除/大神审核/提现打款/告警处理等敏感操作写入审计日志(含 IP) - 新增 server/scripts/backup-db.sh 并已在生产配置每日 03:30 cron(校验+保留 14 天) - 清理空的 order_messages 表;115 套件/750 用例全绿;线上实测告警接口/审计落库/备份均通过
这个提交包含在:
27
server/scripts/backup-db.sh
普通文件
27
server/scripts/backup-db.sh
普通文件
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
# 陪玩生产库每日备份:mysqldump -> gzip -> 校验 -> 保留 14 天
|
||||
# 由 crontab 每天 03:30 调用;凭据从 server/.env 读取,不落盘明文。
|
||||
set -euo pipefail
|
||||
|
||||
APP_DIR="/www/wwwroot/peiww.gynhc.com/server"
|
||||
BACKUP_DIR="/www/backup/peiwan"
|
||||
TS="$(date +%Y%m%d_%H%M%S)"
|
||||
OUT="$BACKUP_DIR/db_$TS.sql.gz"
|
||||
|
||||
cd "$APP_DIR"
|
||||
set -a
|
||||
. ./.env
|
||||
set +a
|
||||
|
||||
export MYSQL_PWD="$MYSQL_PASSWORD"
|
||||
mysqldump --single-transaction --quick --no-tablespaces \
|
||||
-h"$MYSQL_HOST" -P"${MYSQL_PORT:-3306}" -u"$MYSQL_USER" "$MYSQL_DATABASE" \
|
||||
| gzip > "$OUT"
|
||||
unset MYSQL_PWD
|
||||
|
||||
gzip -t "$OUT"
|
||||
|
||||
# 只清理本脚本生成的 db_*.sql.gz,保留 14 天
|
||||
find "$BACKUP_DIR" -maxdepth 1 -name 'db_*.sql.gz' -type f -mtime +14 -delete
|
||||
|
||||
echo "[$(date '+%F %T')] backup ok: $OUT ($(du -h "$OUT" | cut -f1))"
|
||||
在新工单中引用
屏蔽一个用户