# Nachschlagen
Der Teil zum Blättern, wenn man schon weiß, was man sucht.
- **[Alle Befehle](befehle.md)**
Jeder Unterbefehl und jeder Parameter der vier Werkzeuge.
- **[Alle Einstellungen](konfiguration.md)**
Jeder Schlüssel der INI-Datei, mit Vorgabe und Bedeutung.
- **[Tastenkürzel](tasten.md)**
Alle Tasten aller Oberflächen auf einer Seite.
- **[Speicherarten](speicher.md)**
Was Ceph, ZFS, LVM-thin und Datei-Storages jeweils können.
- **[Fehlersuche](fehlersuche.md)**
Meldungen, ihre Ursachen und was dagegen hilft.
---
## Wo was liegt
| Pfad | |
|---|---|
| `/etc/pvesnap/pvesnap.conf` | die Konfiguration |
| `/etc/pvesnap/web.conf` | Parameter der Web-Oberfläche |
| `/var/lib/pvesnap/state.json` | wann welche Gruppe zuletzt lief |
| `/var/lib/pvesnap/recovery.json` | Merkliste der Wiederherstellungen |
| `/var/lib/pvesnap/transfer/` | Austauschlaufwerke (Abbilddateien) |
| `/run/pvesnap/mnt/` | eingebundene Snapshots |
| `/run/pvesnap/transfer/` | am Host eingehängte Austauschlaufwerke |
| `/usr/lib/pvesnap/` | Programmcode |
| `/usr/local/bin/pvesnap*` | die vier Werkzeuge |
---
## Rückgabewerte
Für Skripte:
| Wert | |
|---|---|
| `0` | in Ordnung |
| `1` | abgebrochen (Rückfrage verneint) |
| `2` | Fehler in der Konfiguration oder in den Parametern |
| `3` | Proxmox-Fehler |
| `4` | Laufzeitfehler |
| `130` | mit ++ctrl+c++ abgebrochen |
---
## Aufbau des Programms
```
pvesnap/
config.py INI lesen und schreiben, Gruppen- und Globaleinstellungen
schedule.py Berechnung des nächsten Termins
naming.py Namensschema und Beschreibungs-Vorlagen
proxmox.py pvesh-Anbindung (Inventar, Snapshots anlegen/löschen)
engine.py Auswahl der Gäste, Anlegen, Aufräumen
daemon.py Hauptschleife, Signale, Sperren
state.py merkt sich die letzten Läufe
preflight.py prüft die Umgebung (root, /etc/pve beschreibbar, /root)
cli.py Kommandozeile
curses_util.py gemeinsame curses-Bausteine
tui.py ncurses-Konfigurationseditor
snapfs.py Snapshots einbinden und mounten (rbd/zfs/lvm/qcow2)
explorer.py Zwei-Fenster-Explorer im Terminal
recovery.py Snapshot als Maschine starten (Klone, Konfiguration, Aufräumen)
recovery_ui.py ncurses-Oberfläche und Kommandozeile dazu
transfer.py Austauschlaufwerke: anlegen, ein-/aushängen, Verriegelung
transfer_ui.py deren Bildschirm (Taste v in pvesnap-recovery)
web/ Web-Oberfläche zum Herunterladen
```
Alle vier Werkzeuge teilen sich `proxmox.py`. `snapfs.py` liefert Explorer und
Web-Oberfläche einen ganz gewöhnlichen Pfad, sodass sie nichts über Ceph, ZFS
oder LVM wissen müssen; `recovery.py` geht den anderen Weg und überlässt das
Klonen der Storage-Schicht von Proxmox selbst.