# CLI-Skripte

> Command-Line-Wartungsskripte

---

Das Modul bringt ausschließlich CLI-Skripte mit. Sie sind geschützt: bei Aufruf über HTTP (das Verzeichnis `modules_v4` liegt innerhalb des Web-Roots) antworten sie mit `403` anstatt auszuführen.

| Skript | Zweck | Braucht eine webtrees-Installation + DB? |
| --- | --- | --- |
| `cli/build-link-index.php [--limit=N] [--tree=<id>] [--rebuild] [--flush]` | baut/aktualisiert den Link-Index für die XREF-Übersicht | ja |
| `cli/build-uid-index.php [--limit=N] [--tree=<id>] [--rebuild] [--flush] [--force]` | baut/aktualisiert den UID-Index für die UID-Suche | ja |
| `cli/refresh-wthb-toc.php [--all] [--lang=<list>] [--clear] [--force]` | aktualisiert den WTHB-Inhaltsverzeichnis-Cache ([Produktion](wthb-toc-lang)) | ja |
| <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/tests/test-text-tag-collector.php" target="_blank" rel="noopener"><code>test-text-tag-collector.php</code></a>
 | eigenständige Unit-Tests für den Text-Tag-Collector | nein |
| <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/tests/test-link-classifier.php" target="_blank" rel="noopener"><code>test-link-classifier.php</code></a>
 | eigenständige Unit-Tests für den Link-Klassifizierer (inkl. Ziel-Extraktion) | nein |
| <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/tests/test-uid-tag-collector.php" target="_blank" rel="noopener"><code>test-uid-tag-collector.php</code></a>
 | eigenständige Unit-Tests für den UID-Tag-Collector | nein |
| <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/tests/test-uid-index-service.php" target="_blank" rel="noopener"><code>test-uid-index-service.php</code></a>
 | eigenständige Unit-Tests für den UID-Index-Service | nein |
| `tests/smoke-text-tag-collector.php [limit]` | scannt Datensätze mit erweiterten Links, gibt jeden erfassten Wert aus | ja |
| <a href="https://codeberg.org/bschwede/linkenhancer/src/branch/main/tests/smoke-migration5.php" target="_blank" rel="noopener"><code>smoke-migration5.php</code></a>
 | SQLite-Smoke-Test für Migration5 (UID-Index-Schema) | ja |
| `tests/p1-measure.php [--tree=<id>]` | Read-only-Scaling-Messung für die XREF-Übersicht | ja |

Ausführen vom webtrees-Root aus mit der **gleichen PHP-Version**, mit der die Instanz läuft (webtrees benötigt PHP 8.3+):

```bash
php modules_v4/linkenhancer/tests/test-text-tag-collector.php
php modules_v4/linkenhancer/tests/smoke-text-tag-collector.php 10
```

Cron-Beispiel (alle 2 Stunden, 500 Datensätze pro Lauf):

```
15 */2 * * * cd /path/to/webtrees && php modules_v4/linkenhancer/cli/<name>.php --limit=500 >> /var/log/linkenhancer-<name>.log 2>&1
```
