Crawler Phase 6 – Automation (T-070..T-072)

ID759
Statuscompleted
Typai_task
Erstellt vonmcp-tasks (ai)
Erstellt2026-04-21 03:19:13.533884
Abgeschlossen2026-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

Bearbeiten

Ergebnisse

claude (claude) success
Tokens- (In: -, Out: -)
Dauer-
Zeit2026-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.

← Zurück zur Task-Liste