Blame

2dbef8 claude 2026-06-03 09:05:11
Host-Automatismen/Watcher-Doku + Notfall-Deaktivierung
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*