File: /www/wp-cli/enable.sh
#!/bin/sh
ROOT_DIR="/www/sites/"
LOG_FILE="/www/wp-cli/switch_log.txt"
# 可配置插件行为
DISABLE_PLUGIN="npcard"
ENABLE_PLUGIN="ppcard"
# 确保日志文件存在
touch "$LOG_FILE"
echo "=== Plugin Switch Task Started ===" >> "$LOG_FILE"
echo "Disable: $DISABLE_PLUGIN | Enable: $ENABLE_PLUGIN" >> "$LOG_FILE"
echo "==================================" >> "$LOG_FILE"
# 遍历所有 WordPress 站点
find "$ROOT_DIR" -type f -name "wp-config.php" -print0 | while IFS= read -r -d '' CONFIG_PATH; do
SITE_DIR=$(dirname "$CONFIG_PATH")
echo "Site: $SITE_DIR" >> "$LOG_FILE"
# ----------------------------
# 禁用 DISABLE_PLUGIN 插件
DISABLE_RESULT=$(wp --path="$SITE_DIR" plugin deactivate "$DISABLE_PLUGIN" --allow-root 2>&1)
if [ $? -eq 0 ]; then
echo "✅ $DISABLE_PLUGIN deactivated" >> "$LOG_FILE"
else
echo "❌ Failed to deactivate $DISABLE_PLUGIN" >> "$LOG_FILE"
echo "Error: $DISABLE_RESULT" >> "$LOG_FILE"
fi
# ----------------------------
# 启用 ENABLE_PLUGIN 插件
ENABLE_RESULT=$(wp --path="$SITE_DIR" plugin activate "$ENABLE_PLUGIN" --allow-root 2>&1)
if [ $? -eq 0 ]; then
echo "✅ $ENABLE_PLUGIN activated" >> "$LOG_FILE"
else
echo "❌ Failed to activate $ENABLE_PLUGIN" >> "$LOG_FILE"
echo "Error: $ENABLE_RESULT" >> "$LOG_FILE"
fi
echo "----------------------------" >> "$LOG_FILE"
done
echo "All sites processed. Log saved to $LOG_FILE" >> "$LOG_FILE"