文件
shanghaipeiwan/server/scripts/backup-db.sh
xcbyy 65ddc7301a 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 用例全绿;线上实测告警接口/审计落库/备份均通过
2026-10-22 09:54:10 +08:00

28 行
800 B
Bash

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

#!/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))"