File: /www/wp-cli/replace_footer.sh
#!/bin/sh
ROOT_DIR="/www/sites/"
LOG_FILE="/www/wp-cli/footer_date_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/.footer_date_replaced"
MAILGUN_FLAG="$SITE_DIR/.mailgun_replaced"
echo ""
echo "--------------------------------------"
echo "Site $count: $SITE_DIR"
echo "--------------------------------------"
# 检查 footer 标记文件
if [ -f "$FLAG_FILE" ]; then
echo "⏭ Skipped (already replaced): $SITE_DIR"
echo "SKIPPED: $SITE_DIR" >> "$LOG_FILE"
skipped=$((skipped + 1))
continue
fi
# -----------------------------
# 替换 footer date
# -----------------------------
echo "Replacing Footer Date..."
wp --path="$SITE_DIR" search-replace \
"© 2025" \
"© 2026" \
--all-tables --precise --recurse-objects --skip-columns=guid --allow-root
wp --path="$SITE_DIR" search-replace \
"© 2025" \
"© 2026" \
--all-tables --precise --recurse-objects --skip-columns=guid --allow-root
# -----------------------------
# 创建 footer 标记文件
# -----------------------------
echo "Processed on $(date)" > "$FLAG_FILE"
# -----------------------------
# 删除 mailgun 标记文件
# -----------------------------
if [ -f "$MAILGUN_FLAG" ]; then
rm -f "$MAILGUN_FLAG"
echo "🗑 Removed mailgun flag: $SITE_DIR"
echo "MAILGUN FLAG REMOVED: $SITE_DIR" >> "$LOG_FILE"
fi
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"