HEX
Server: nginx
System: Linux f62c58717270 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64
User: www-data (1000)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /www/wp-cli/replace_email.sh
#!/bin/sh

ROOT_DIR="/www/sites/chloebagus.com"
LOG_FILE="/www/wp-cli/mailgun_replace_log.txt"

# 创建日志文件,覆盖旧日志
echo "========= START $(date) =========" > "$LOG_FILE"

count=0
skipped=0
processed=0

# 使用 find + while read 遍历
find "$ROOT_DIR" -type f -name "wp-config.php" | while IFS= read -r CONFIG_PATH; do
    count=$((count + 1))
    SITE_DIR=$(dirname "$CONFIG_PATH")
    FLAG_FILE="$SITE_DIR/.mailgun_replaced"

    echo ""
    echo "--------------------------------------"
    echo "Site $count: $SITE_DIR"
    echo "--------------------------------------"

    # 检查标记文件
    if [ -f "$FLAG_FILE" ]; then
        echo "⏭ Skipped (already replaced): $SITE_DIR"
        echo "SKIPPED: $SITE_DIR" >> "$LOG_FILE"
        skipped=$((skipped + 1))
        continue
    fi

    # -----------------------------
    # 替换 API KEY
    # -----------------------------
    echo "Replacing API KEY..."
    wp --path="$SITE_DIR" search-replace "f88fe9b8c9db0bd6f926a605ec86a4a4-58d4d6a2-49ef8bbf" "7b47345c7602aaf3e7733272b6a86418-ccbfdc2c-0d63aece" --all-tables --precise --recurse-objects --skip-columns=guid --allow-root

    # -----------------------------
    # 替换 support 邮箱
    # -----------------------------
    echo "Replacing support email..."
    wp --path="$SITE_DIR" search-replace "goods-notify.com" "aws.mailsever.cc" --all-tables --precise --recurse-objects --skip-columns=guid --allow-root

    # -----------------------------
    # 替换 support 邮箱
    # -----------------------------
    echo "Replacing support email..."
    wp --path="$SITE_DIR" search-replace "mail.aws.mailsever.cc" "aws.mailsever.cc" --all-tables --precise --recurse-objects --skip-columns=guid --allow-root

    # -----------------------------
    # 创建标记文件
    # -----------------------------
    echo "Processed on $(date)" > "$FLAG_FILE"
    echo "✔ Completed and flagged: $SITE_DIR"
    echo "DONE: $SITE_DIR" >> "$LOG_FILE"
    processed=$((processed + 1))

done

# -----------------------------
# 完成统计
# -----------------------------
echo ""
echo "======================================="
echo " ALL SITES COMPLETED"
echo "======================================="

echo "========= END $(date) =========" >> "$LOG_FILE"