hi-server/scripts/backup_all.sh
shanshanzhong 62186ca672
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m37s
feat(iap/apple): 实现苹果IAP非续期订阅功能
新增苹果IAP相关接口与逻辑,包括产品列表查询、交易绑定、状态查询和恢复购买功能。移除旧的IAP验证逻辑,重构订阅系统以支持苹果IAP交易记录存储和权益计算。

- 新增/pkg/iap/apple包处理JWS解析和产品映射
- 实现GET /products、POST /attach、POST /restore和GET /status接口
- 新增apple_iap_transactions表存储交易记录
- 更新文档说明配置方式和接口规范
- 移除旧的AppleIAP验证和通知处理逻辑
2025-12-13 20:54:50 -08:00

68 lines
2.4 KiB
Bash

#!/bin/bash
# Configuration
LOG_FILE="/root/backup.log"
MYSQL_BACKUP_SCRIPT="/root/backup_mysql.sh"
UPLOADER_BINARY="/root/uploader-linux-amd64"
# MinIO Credentials (can be modified here or passed via env)
MINIO_ENDPOINT="http://107.173.50.22:5017"
MINIO_ACCESS_KEY="WyJYxDobmp9glIXVAteC"
MINIO_SECRET_KEY="TNO0ZJ4AH5QupFwDtiLxavUeMVmz2fo1YXRGsI7c"
MINIO_BUCKET="backup"
# Directories to backup (comma separated)
# Example: "/root/vpn_server,/etc/nginx/conf.d"
DIRS_TO_BACKUP="/root/db_backups,/etc/nginx/conf.d"
echo "========================================================" >> "$LOG_FILE"
echo "[$(date)] Starting Daily Backup Task..." >> "$LOG_FILE"
# 1. Execute MySQL Backup
if [ -f "$MYSQL_BACKUP_SCRIPT" ]; then
echo "[$(date)] Running MySQL backup script..." >> "$LOG_FILE"
# Pass credentials to the MySQL script via environment variables if needed,
# but currently backup_mysql.sh calls uploader internally.
# We should update backup_mysql.sh to use these credentials too, or rely on them being embedded/env.
# For now, let's export them so child processes can see them if they use os.Getenv
export MINIO_ENDPOINT
export MINIO_ACCESS_KEY
export MINIO_SECRET_KEY
export MINIO_BUCKET
bash "$MYSQL_BACKUP_SCRIPT" >> "$LOG_FILE" 2>&1
if [ $? -eq 0 ]; then
echo "[$(date)] MySQL backup script finished." >> "$LOG_FILE"
else
echo "[$(date)] Error: MySQL backup script failed!" >> "$LOG_FILE"
fi
else
echo "[$(date)] Error: MySQL backup script not found at $MYSQL_BACKUP_SCRIPT" >> "$LOG_FILE"
fi
# 2. Execute File/Directory Backup using Go Uploader
if [ -f "$UPLOADER_BINARY" ]; then
echo "[$(date)] Running Directory backup..." >> "$LOG_FILE"
chmod +x "$UPLOADER_BINARY"
# Run uploader with explicit flags
"$UPLOADER_BINARY" \
-dir "$DIRS_TO_BACKUP" \
-bucket "$MINIO_BUCKET" \
-endpoint "$MINIO_ENDPOINT" \
-access-key "$MINIO_ACCESS_KEY" \
-secret-key "$MINIO_SECRET_KEY" \
>> "$LOG_FILE" 2>&1
if [ $? -eq 0 ]; then
echo "[$(date)] Directory backup finished." >> "$LOG_FILE"
else
echo "[$(date)] Error: Directory backup failed!" >> "$LOG_FILE"
fi
else
echo "[$(date)] Error: Uploader binary not found at $UPLOADER_BINARY" >> "$LOG_FILE"
fi
echo "[$(date)] Daily Backup Task Completed." >> "$LOG_FILE"
echo "========================================================" >> "$LOG_FILE"