All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 6m37s
新增苹果IAP相关接口与逻辑,包括产品列表查询、交易绑定、状态查询和恢复购买功能。移除旧的IAP验证逻辑,重构订阅系统以支持苹果IAP交易记录存储和权益计算。 - 新增/pkg/iap/apple包处理JWS解析和产品映射 - 实现GET /products、POST /attach、POST /restore和GET /status接口 - 新增apple_iap_transactions表存储交易记录 - 更新文档说明配置方式和接口规范 - 移除旧的AppleIAP验证和通知处理逻辑
68 lines
2.4 KiB
Bash
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"
|