Crawler Phase 6 – Automation (T-070..T-072)
| ID | 759 |
|---|---|
| Status | completed |
| Typ | ai_task |
| Erstellt von | mcp-tasks (ai) |
| Erstellt | 2026-04-21 03:19:13.533884 |
| Abgeschlossen | 2026-04-21 03:20:50.157427 |
Beschreibung
systemd-Service + Timer für täglichen Hybrid-Crawl (03:00). systemd-Timer für stündlichen External-Link-Recheck. logrotate-Config für /var/www/dev.campus.systemische-tools.de/crawler/logs. Install-Skript.
Aktionen
Ergebnisse
claude (claude)
success
| Tokens | - (In: -, Out: -) |
|---|---|
| Dauer | - |
| Zeit | 2026-04-21 03:20:49 |
Antwort:
Phase 6 Automation abgeschlossen. Dateien (alle unter /var/www/dev.campus.systemische-tools.de/crawler/): - systemd/crawler-daily.service: oneshot-Service, User=www-data, WorkingDirectory=crawler-Root, venv-Python + CLI `crawl --base-url https://campus-am-see.de/ --mode hybrid`, Logs append in logs/crawler-daily.log, Timeout 6h, Nice=10. - systemd/crawler-daily.timer: OnCalendar=*-*-* 03:00:00, Persistent=true, RandomizedDelaySec=120 (verhindert Thundering Herd bei Cold-Boot). - systemd/crawler-recheck.service: oneshot, ermittelt letzte crawl-id via `list --limit 1` + json-pipe, ruft dann `recheck-external`. Timeout 30min, Nice=15. - systemd/crawler-recheck.timer: OnCalendar=hourly, Persistent=true, RandomizedDelaySec=300. - logrotate/crawler.conf: daily, rotate 14, compress, delaycompress, copytruncate, create 0640 www-data. - systemd/install.sh: kopiert Units nach /etc/systemd/system/ und logrotate-Config nach /etc/logrotate.d/crawler; aktiviert beide Timer via systemctl enable --now; listet Status. Verifikation: - systemd-analyze verify fuer alle 4 Units: PASS. - Unit-Dateien chmod 0644 (systemd meckert sonst ueber executable bits). - logrotate -d Config: syntaktisch OK. Nicht ausgefuehrt (shared system state, erfordert root + explizite Bestaetigung): `sudo ./systemd/install.sh`. Der User kann das jetzt manuell laufen lassen, dann beginnt der 03:00-Lauf automatisch ab dem naechsten Tag.