Files
proxmox-snapshot-service/handbuch/docs/nachschlagen/konfiguration.md
T
duffyduckandClaude Opus 5 59e7224297 Handbuch auf MkDocs-Basis, mit Bildschirmfotos aus dem Programm
26 Kapitel in vier Teilen, in der Reihenfolge, in der man sie braucht:
erst sichern, dann Dateien holen, dann ganze Maschinen wiederherstellen,
dahinter der Nachschlagteil.

Gebaut wird mit MkDocs + Material. Bewusst ohne Netzabhaengigkeiten:
keine Schriften vom CDN (font: false), Volltextsuche mit deutschem
Stemming liegt neben den Seiten. Im Notfall steht vielleicht das halbe
Netz - dann nuetzt eine Doku im Internet nichts.

  handbuch/bauen.sh              baut handbuch/site/
  handbuch/bauen.sh ansehen      Vorschau auf 127.0.0.1:8000

install.sh nimmt das gebaute Handbuch mit nach
/usr/share/doc/pvesnap/handbuch/ - falls es vorliegt. Auf dem Host selbst
wird nichts gebaut, mkdocs gehoert nicht auf einen Hypervisor.

Die 28 Bildschirmfotos sind nicht abfotografiert, sondern erzeugt: Der
echte Programmcode laeuft in einem Pseudo-Terminal gegen einen erfundenen
Proxmox-Host (Attrappen fuer pvesh, perl und rbd), pyte baut den Bildschirm
nach, heraus faellt ein SVG. Damit stimmen sie garantiert mit dem Programm
ueberein, sind reproduzierbar und enthalten keine echten Daten. Die
Werkstatt dafuer liegt unter handbuch/werkstatt/ samt LIESMICH.md.

Nebenbei: die Schlussmeldung von install.sh warb noch mit --exchange,
das mit dem eingebauten Austauschlaufwerk weggefallen ist.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-09 12:39:30 +02:00

7.0 KiB
Raw Blame History

Alle Einstellungen

Die Datei liegt unter /etc/pvesnap/pvesnap.conf und ist eine gewöhnliche INI-Datei mit drei Arten von Abschnitten:

[global]           # gilt für alles
[defaults]         # Vorgaben für alle Gruppen (optional)
[group:NAME]       # eine Gruppe, beliebig viele davon

Nach jeder Änderung:

pvesnap check
systemctl reload pvesnap

!!! note "Zeitangaben"

Überall dasselbe Format: `30s`, `15m`, `1h`, `6h`, `2d12h`, `1w`.
`0` heißt „unbegrenzt" bzw. „keine".

!!! note "Kommentare am Zeilenende"

Hinter jedem Wert darf ein Kommentar stehen:

```ini
keep_time = 7d      # eine Woche
```

Einzige Ausnahme ist `description` — dort bleibt die Zeile unverändert,
damit ein `#` in der Beschreibung erhalten bleibt.

[global]

Schlüssel Vorgabe
prefix auto Namenspräfix aller pvesnap-Snapshots. Bestimmt zugleich, was jemals gelöscht wird — siehe Namensschema.
check_interval 60s wie oft der Dienst nach Fälligem schaut
state_file /var/lib/pvesnap/state.json merkt sich die letzten Läufe
log_level INFO DEBUG, INFO, WARNING, ERROR
log_file zusätzliche Protokolldatei; ohne sie geht alles ins Journal
task_timeout 15m Geduld mit einem einzelnen Proxmox-Task
retries 2 zusätzliche Versuche, wenn eine Sperre belegt ist
retry_delay 60s Wartezeit vor dem nächsten Versuch
pause_between 0s Pause zwischen zwei Gästen
run_on_start no beim Dienststart sofort einen Durchlauf machen
dry_run no yes = nichts wirklich tun, nur protokollieren
description siehe unten Standard-Beschreibung aller Snapshots
[global]
prefix = auto
check_interval = 60s
state_file = /var/lib/pvesnap/state.json
log_level = INFO
task_timeout = 15m
retries = 2
retry_delay = 60s
pause_between = 0s
run_on_start = no
dry_run = no
description = pvesnap | Gruppe: {group} | erstellt: {datetime} | Vorhaltezeit: {keep_time} | max: {keep_count}

[defaults]

Vorgaben für alle Gruppen. Jede Gruppe darf sie einzeln überschreiben.

[defaults]
enabled = yes
skip_stopped = no
vmstate = no

Erlaubt sind hier dieselben Schlüssel wie in einer Gruppe.

!!! warning "Der Editor löst [defaults] auf"

Beim Speichern im [ncurses-Editor](../sichern/editor.md) verschwindet der
Abschnitt — die Werte stehen danach in jeder Gruppe einzeln. Inhaltlich
ändert sich nichts.

[group:NAME]

Allgemein

Schlüssel Vorgabe
enabled yes Gruppe aktiv. In der Auslieferung stehen alle auf no.

Zeitplan

Entweder interval oder schedule — nicht beides.

Schlüssel Vorgabe
interval 30m, 1h, 6h, 2d12h, 1w
align no yes = an der Uhr ausgerichtet (00:00, 00:30 …)
schedule hourly, daily, weekly, monthly, yearly
at Uhrzeit HH:MM bei daily und größer
minute 0 Minute bei hourly
day_of_week mo mo di mi do fr sa so bei weekly
day_of_month 1 131 bei monthly; zu große Werte fallen auf den Monatsletzten
month 1 112 bei yearly

Einzelheiten unter Zeitpläne.

Vorhaltezeit

Schlüssel Vorgabe
keep_count 0 höchstens so viele je VM und Gruppe (0 = unbegrenzt)
keep_time 0 nichts älter als (0 = unbegrenzt)
keep_min 0 so viele bleiben in jedem Fall stehen

Mindestens eine von keep_count und keep_time muss gesetzt sein. Einzelheiten unter Vorhaltezeit.

Auswahl der Gäste

Schlüssel Vorgabe
all no alle VMs und Container
vmids 100,101,105-110
names web-*, db-0? — mit *, ?, [abc]
tags produktion, wichtig
pools Kunden
types qemu oder lxc; leer = beides
exclude_vmids
exclude_names
exclude_tags

Einschlüsse wirken als ODER, Ausschlüsse gewinnen immer. Einzelheiten unter Welche Gäste?.

Snapshot-Optionen

Schlüssel Vorgabe
vmstate no Arbeitsspeicher mitsichern — nur QEMU, nur bei laufender VM
skip_stopped no gestoppte Gäste überspringen
description aus [global] eigene Beschreibung für diese Gruppe

Platzhalter der Beschreibung

{group} Name der Gruppe täglich
{group_slug} Kurzname im Snapshot taeglich
{vmid} VMID 101
{name} Name des Gastes db01
{type} VM oder LXC VM
{node} Cluster-Knoten pve1
{pool} Proxmox-Pool Hausnetz
{tags} Tags des Gastes produktion,datenbank
{date} Datum 2026-08-09
{time} Uhrzeit 02:30:00
{datetime} beides 2026-08-09 02:30:00
{timestamp} Unix-Zeit 1786257000
{keep_time} Vorhaltezeit der Gruppe 3w
{keep_count} Anzahl 14
{schedule} Zeitplan im Klartext täglich um 02:30

Ein unbekannter Platzhalter führt nicht zum Abbruch — dann wird eine Ersatzbeschreibung eingesetzt.


Deutsche Schreibweisen

Damit die Datei lesbar bleibt, versteht pvesnap eine Reihe deutscher Synonyme:

deutsch entspricht
aktiv, aktiviert enabled
intervall interval
zeitplan schedule
uhrzeit, zeit at
wochentag day_of_week
monatstag day_of_month
monat month
anzahl, max_anzahl, behalte_anzahl keep_count
vorhaltezeit, behalte_zeit, max_alter keep_time
mindestens keep_min
alle all
namen names
typen types
beschreibung description
ausschluss_vmids exclude_vmids
ausschluss_namen exclude_names
gestoppte_ueberspringen skip_stopped

Bindestriche und Unterstriche sind austauschbar, Groß- und Kleinschreibung egal.


Eine vollständige Beispieldatei

[global]
prefix = auto
check_interval = 60s
state_file = /var/lib/pvesnap/state.json
log_level = INFO
task_timeout = 15m
retries = 2
retry_delay = 60s
pause_between = 0s
run_on_start = no
dry_run = no
description = pvesnap | Gruppe: {group} | erstellt: {datetime} | Vorhaltezeit: {keep_time} | max: {keep_count}

[defaults]
enabled = yes
skip_stopped = no
vmstate = no

[group:stuendlich]
interval = 1h
align = yes
keep_count = 24
keep_time = 2d
keep_min = 1
tags = stuendlich
skip_stopped = yes

[group:taeglich]
schedule = daily
at = 02:30
keep_count = 14
keep_time = 21d
keep_min = 1
tags = produktion
exclude_tags = nosnap

[group:monatlich]
schedule = monthly
day_of_month = 1
at = 04:00
keep_count = 6
keep_time = 400d
all = yes
exclude_tags = nosnap, pvesnap-recovery
description = Monatssicherung {name} ({vmid}) vom {date}