# 未设路径 Fleet 探测与推送验证 — 2026-06-11

## 部署

- 版本：`e6abd4a`（推送默认 `/www/wwwroot` + sudo rsync）
- 健康：`https://api.synaglobal.vip/health` 200

## 行为确认

| 概念 | 说明 |
|------|------|
| 「未设路径」UI | `target_path` 为空或精确 `/www/wwwroot` |
| 推送目标 | 空时落到 `/www/wwwroot`（宝塔站点根，可传文件） |
| 两者关系 | **独立**：面板仍显示未设路径，推送可用 wwwroot |

## 批量 detect-path（`--unset-only`）

- 匹配：**102 台**
- 成功：**9 台**（写入具体站点目录）
- 失败：**93 台**（多为「未找到 workerman.bat」）

### 探测成功清单

| ID | 名称 | 写入路径 |
|----|------|----------|
| 245 | 武汉市辰风落科技有限公司 | `/www/wwwroot/crmeb` |
| 246 | 子-武汉市辰风落科技有限公司 | `/www/wwwroot/crmeb` |
| 303 | 落风窗（武汉市）科技有限公司 | `/www/wwwroot/shop` |
| 304 | 子-落风窗（武汉市）科技有限公司 | `/www/wwwroot/shop` |
| 305 | 武汉市事野落电子商务有限公司 | `/www/wwwroot/shop` |
| 306 | 子-武汉市事野落电子商务有限公司 | `/www/wwwroot/shop` |
| 315 | 漫窗星(武汉市)电子商务有限公司 | `/www/wwwroot/shop/yaciwangluo.cn` |
| 316 | 子-漫窗星(武汉市)电子商务有限公司 | `/www/wwwroot/shop/yaciwangluo.cn` |
| 371 | 冲量银海-泽初 | `/www/wwwroot/whzecw.com` |

93 台失败需人工确认站点结构（无 workerman.bat 或非宝塔布局）。

## 非 root 推送验证（`verify_push_elevation.py --non-root-only`）

| 指标 | 改 wwwroot 前 | 改 wwwroot 后 |
|------|---------------|---------------|
| 通过 | 24/68 | **67/68** |
| 失败 | 44（dest=/tmp/sync） | 1 |

### 唯一失败

- **#342** 子-武汉市清风无恙电子商务有限公司
- `dest=/www/wwwroot/shop`
- `rsync_sudo=False`（其余检查 write/elevated 通过）
- 建议：对该机重新执行「一键配置 sudo」或 `batch_patch_files_sudoers.sh --ids 342`

### wwwroot 根目录推送

37 台非 root 子机 `dest=/www/wwwroot` 验证通过（sudo rsync + 写入 + dry-run）。

## 命令（生产容器）

```bash
sudo docker cp /opt/nexus/scripts/batch_detect_target_path.py nexus-prod-nexus-1:/app/scripts/
sudo docker exec -w /app nexus-prod-nexus-1 python scripts/batch_detect_target_path.py --unset-only --concurrency 10
sudo docker exec -w /app nexus-prod-nexus-1 python scripts/verify_push_elevation.py --non-root-only --concurrency 10
```

日志：`/tmp/detect-full.txt`、`/tmp/verify-push.txt`（生产主机）
