Blame
|
1 | # Host-Automatismen & Watcher |
||||||
| 2 | ||||||||
| 3 | Automatisierte Jobs auf dem **Proxmox-Host** (`192.168.178.46`), die selbsttaetig Dateirechte/DNS anpassen. Hier dokumentiert, damit im Stoerungsfall klar ist, was sie tun und wie man sie abschaltet. |
|||||||
| 4 | ||||||||
| 5 | > Alle Befehle als **root direkt auf dem Proxmox-Host** ausfuehren (nicht im Container). |
|||||||
| 6 | ||||||||
| 7 | --- |
|||||||
| 8 | ||||||||
| 9 | ## 1. webspace-perms — systemd Path-Watcher *(neu 2026-06-03)* |
|||||||
| 10 | ||||||||
| 11 | **Zweck:** FileBrowser (CT 103) legt Uploads im Webspace mit Modus `640` ab → nginx (CT 111) darf sie nicht lesen → **403 Forbidden**. Dieser Watcher zieht neue Dateien automatisch auf `644` (Ordner `755`), ~1–2 s nach dem Upload. |
|||||||
| 12 | ||||||||
| 13 | | | | |
|||||||
| 14 | |---|---| |
|||||||
| 15 | | Ueberwacht | `/mnt/storage/fileserver/webspace` (nur Top-Ordner) | |
|||||||
| 16 | | Units | `/etc/systemd/system/webspace-perms.path` + `webspace-perms.service` | |
|||||||
| 17 | | Wirkung | `chmod o+r` auf Files, `chmod o+rx` auf Dirs | |
|||||||
| 18 | ||||||||
| 19 | **Status pruefen:** |
|||||||
| 20 | ``` |
|||||||
| 21 | systemctl status webspace-perms.path |
|||||||
| 22 | ``` |
|||||||
| 23 | **Voruebergehend deaktivieren:** |
|||||||
| 24 | ``` |
|||||||
| 25 | systemctl disable --now webspace-perms.path |
|||||||
| 26 | ``` |
|||||||
| 27 | **Komplett loeschen:** |
|||||||
| 28 | ``` |
|||||||
| 29 | systemctl disable --now webspace-perms.path |
|||||||
| 30 | rm /etc/systemd/system/webspace-perms.path /etc/systemd/system/webspace-perms.service |
|||||||
| 31 | systemctl daemon-reload |
|||||||
| 32 | ``` |
|||||||
| 33 | ⚠️ Nach Abschaltung sind neue Webspace-Uploads wieder 403, bis man manuell `chmod 644 /mnt/storage/fileserver/webspace/<datei>` auf dem **Host** ausfuehrt (im Container geht es nicht — unprivilegiertes LXC, Datei gehoert `nobody`). |
|||||||
| 34 | ||||||||
| 35 | --- |
|||||||
| 36 | ||||||||
| 37 | ## 2. cf-ddns — systemd Timer (Cloudflare DDNS) |
|||||||
| 38 | ||||||||
| 39 | **Zweck:** aktualisiert alle 5 Min die A-Records (`ls-cloud.biz`, `sh0rt.biz`, `ls-x.cloud`) auf die aktuelle Public-IP. |
|||||||
| 40 | ||||||||
| 41 | | | | |
|||||||
| 42 | |---|---| |
|||||||
| 43 | | Units | `/etc/systemd/system/cf-ddns.timer` + `cf-ddns.service` | |
|||||||
| 44 | | Script | `/usr/local/bin/cf-ddns.sh` | |
|||||||
| 45 | ||||||||
| 46 | **Deaktivieren:** |
|||||||
| 47 | ``` |
|||||||
| 48 | systemctl disable --now cf-ddns.timer |
|||||||
| 49 | ``` |
|||||||
| 50 | ⚠️ Bei Abschaltung zeigen nach einem IP-Wechsel alle Domains ins Leere → saemtliche externen Dienste nicht mehr erreichbar. |
|||||||
| 51 | ||||||||
| 52 | --- |
|||||||
| 53 | ||||||||
| 54 | ## 3. fix_media_acl — Cron (alle 5 Min) |
|||||||
| 55 | ||||||||
| 56 | **Zweck:** setzt ACL-Maske `rwx` auf neue Media-/Download-Ordner, sonst koennen Sonarr/Radarr Dateien nicht verschieben. |
|||||||
| 57 | ||||||||
| 58 | | | | |
|||||||
| 59 | |---|---| |
|||||||
| 60 | | Eintrag | root-crontab: `*/5 * * * * /usr/local/bin/fix_media_acl.sh` | |
|||||||
| 61 | ||||||||
| 62 | **Deaktivieren:** `crontab -e` → Zeile mit `#` auskommentieren oder loeschen. |
|||||||
| 63 | ||||||||
| 64 | --- |
|||||||
| 65 | ||||||||
| 66 | ## 4. fix_series_structure — Cron (alle 30 Min) |
|||||||
| 67 | ||||||||
| 68 | **Zweck:** korrigiert die Serien-Ordnerstruktur. Log: `/var/log/fix_series_structure.log` |
|||||||
| 69 | ||||||||
| 70 | | | | |
|||||||
| 71 | |---|---| |
|||||||
| 72 | | Eintrag | root-crontab: `*/30 * * * * python3 /usr/local/bin/fix_series_structure.py` | |
|||||||
| 73 | ||||||||
| 74 | **Deaktivieren:** `crontab -e` → Zeile auskommentieren/loeschen. |
|||||||
| 75 | ||||||||
| 76 | --- |
|||||||
| 77 | ||||||||
| 78 | ## 5. rom-chmod — Cron (alle 2 Min) |
|||||||
| 79 | ||||||||
| 80 | **Zweck:** `chmod 644` auf EmulatorJS-ROMs (CT 114 Games), damit der Webserver sie ausliefern kann. |
|||||||
| 81 | ||||||||
| 82 | | | | |
|||||||
| 83 | |---|---| |
|||||||
| 84 | | Datei | `/etc/cron.d/rom-chmod` | |
|||||||
| 85 | | Inhalt | `*/2 * * * * root find /mnt/storage/fileserver/data/roms -type f ! -perm 644 -exec chmod 644 {} \;` | |
|||||||
| 86 | ||||||||
| 87 | **Deaktivieren:** `rm /etc/cron.d/rom-chmod` (oder Zeile auskommentieren). |
|||||||
| 88 | ||||||||
| 89 | --- |
|||||||
| 90 | ||||||||
| 91 | ## Schnell-Uebersicht — alles auflisten |
|||||||
| 92 | ||||||||
| 93 | ``` |
|||||||
| 94 | systemctl list-units --type=path # Path-Watcher |
|||||||
| 95 | systemctl list-timers # Timer (cf-ddns ...) |
|||||||
| 96 | crontab -l # root-Crons |
|||||||
| 97 | ls /etc/cron.d/ # System-Crons (rom-chmod ...) |
|||||||
| 98 | ``` |
|||||||
| 99 | ||||||||
| 100 | *Stand: 2026-06-03* |
|||||||
