Files
proxmox-snapshot-service/handbuch/docs/nachschlagen/befehle.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.8 KiB

Alle Befehle

pvesnap

Der Snapshot-Dienst und seine Verwaltung.

pvesnap [globale Optionen] <befehl> [optionen]

Globale Optionen

Option Vorgabe
-c, --config <pfad> /etc/pvesnap/pvesnap.conf andere Konfiguration verwenden (auch über PVESNAP_CONFIG)
-n, --dry-run nichts wirklich anlegen oder löschen, nur anzeigen
-v, --verbose ausführliche Ausgabe
-V, --version Version anzeigen

Unterbefehle

Befehl
status Übersicht über Gruppen, letzte und nächste Läufe — auch die Vorgabe ohne Befehl
vms alle VMs und Container mit den Gruppen, in denen sie stecken
list vorhandene pvesnap-Snapshots
check Konfiguration prüfen
config (oder edit) ncurses-Editor
run fällige Gruppen jetzt ausführen
prune nur aufräumen, nichts anlegen
daemon Dienst im Vordergrund starten (für systemd)

run

Option
-g, --group <name> nur diese Gruppe (mehrfach möglich)
-f, --force unabhängig vom Zeitplan ausführen
--no-prune nicht aufräumen
pvesnap run                              # was fällig ist
pvesnap run --force -g taeglich          # diese Gruppe sofort
pvesnap run --force --dry-run            # Probelauf
pvesnap run -g taeglich -g monatlich     # zwei Gruppen

prune

Option
-g, --group <name> nur diese Gruppe

list

Option
-g, --group <name> nur diese Gruppe
-a, --all auch fremde und von Hand angelegte Snapshots anzeigen

pvesnap-explorer

pvesnap-explorer [vmid] [snapshot] [optionen]
Parameter Vorgabe
vmid Gast direkt vorwählen
snapshot Snapshot direkt vorwählen
-l, --local <pfad> aktuelles Verzeichnis Startverzeichnis im rechten Fenster
-p, --path <pfad> beliebiges Verzeichnis öffnen, ohne Proxmox zu fragen
--cleanup hängengebliebene Einbindungen lösen und beenden
-v, --verbose ausführliches Protokoll
-V, --version Version anzeigen
pvesnap-explorer                                       # alles auswählen
pvesnap-explorer 101                                   # Snapshot von VM 101 wählen
pvesnap-explorer 101 auto-taeglich-20260809-023000     # direkt öffnen
pvesnap-explorer --local /srv/restore                  # rechtes Fenster startet dort
pvesnap-explorer --path /mnt/x                         # ohne Proxmox
pvesnap-explorer --cleanup                             # aufräumen

Braucht root, außer bei --path.


pvesnap-web

pvesnap-web [vmid] [snapshot] [optionen]
Parameter Vorgabe
-P, --port <nummer> 8823 Port, auf dem gelauscht wird
-b, --bind <adresse> 0.0.0.0 Netzwerkadresse; 127.0.0.1 = nur lokal
-a, --auth pve|token|none pve Anmeldeart
--require-privilege <recht> VM.Snapshot nötiges Recht auf dem Gast
--allow-user <user@realm> dieser Benutzer darf alles (mehrfach möglich)
-t, --token <schlüssel> zufällig Zugangsschlüssel selbst vorgeben
--no-token Kurzform für --auth none
-p, --path <verzeichnis> beliebiges Verzeichnis statt eines Snapshots
--cleanup hängengebliebene Einbindungen lösen und beenden
-v, --verbose ausführliches Protokoll
-V, --version Version anzeigen

Als Dienst stehen dieselben Parameter in /etc/pvesnap/web.conf:

PVESNAP_WEB_ARGS=--bind 0.0.0.0 --port 8823 --auth pve

pvesnap-recovery

pvesnap-recovery                       # ncurses-Oberfläche
pvesnap-recovery <befehl> [optionen]

Unterbefehle

Befehl
live <VMID> [snapshot] abgeschottet starten (ohne Snapshot: der neueste)
recover <VMID> [snapshot] mit Netzwerk und gleicher Identität starten
list vorhandene Wiederherstellungen anzeigen
start <VMID> starten
stop <VMID> herunterfahren
console <VMID> noVNC-Adresse ausgeben
spice <VMID> Verbindungsdatei für remote-viewer
flatten <VMID> vom Quell-Snapshot lösen
cleanup Klone entfernen, zu denen es keinen Gast mehr gibt
destroy <VMID> restlos verwerfen

Optionen von live und recover

Parameter
--newid <ID> VMID der neuen Maschine (Vorgabe: nächste freie)
--node <name> auf welchem Node sie laufen soll
--net none|down|on keine Karte / Karte ohne Leitung / voll am Netz
--resume / --no-resume Arbeitsspeicher laden bzw. bewusst kalt starten
--transfer <name> Austauschlaufwerk anhängen (mehrfach möglich)
--spice SPICE-Anzeige (vga: qxl), zusätzlich zu noVNC
--usb <n> so viele USB-Weiterleitungen über SPICE (schaltet --spice mit ein)
--iso <volid> Abbild als CD einlegen, z. B. local:iso/virtio-win.iso
--memory <MB> abweichender Arbeitsspeicher (nicht mit --resume)
--cores <n> abweichende Kernzahl (nicht mit --resume)
--name <name> Name der neuen Maschine
--keep-binds durchgereichte Host-Verzeichnisse des Originals übernehmen
--no-start nur einrichten, nicht starten
-y, --yes Routinefragen überspringen
--force auch anlegen, wenn das Original noch läuft

!!! danger "-y deckt --force nicht ab"

`recover` mit `-y` bei laufendem Original wird **abgewiesen** (Rückgabewert
2). Siehe [Mit Netzwerk](../wiederherstellen/netzwerk.md).

Optionen der übrigen Befehle

Befehl Option
spice -o <datei> in eine Datei schreiben statt auf die Standardausgabe
flatten --force auch bei knappem Speicherplatz
cleanup --all auch Datenträger ohne Elternteil
cleanup, destroy, flatten -y, --yes ohne Rückfrage

Beispiele

# Kurz hineinschauen, mit Werkzeugen
pvesnap-recovery live 101 --transfer werkzeuge

# Ein bestimmter Snapshot, kalt gestartet, mit Dongle
pvesnap-recovery live 105 auto-taeglich-20260809-023000 --usb 2 --no-resume

# Ernstfall: Original steht, Wiederherstellung übernimmt
qm stop 101
pvesnap-recovery recover 101 --newid 9101
pvesnap-recovery flatten 9101

# Verbindungsdatei für den Arbeitsplatz
ssh root@pve2 pvesnap-recovery spice 9104 > vm.vv && remote-viewer vm.vv

# Aufräumen
pvesnap-recovery destroy 9101
pvesnap-recovery cleanup

systemd

systemctl status pvesnap
systemctl reload pvesnap            # Konfiguration neu einlesen (SIGHUP)
systemctl restart pvesnap
journalctl -u pvesnap -f

systemctl status pvesnap-web
systemctl restart pvesnap-web       # nach Änderungen in web.conf
systemctl stop pvesnap-web
journalctl -u pvesnap-web -f

Installation

./install.sh [optionen]
./uninstall.sh [--purge]
Option
--with-webexplorer Web-Oberfläche als Dienst einrichten (erfordert --port)
--port <nummer> Port der Web-Oberfläche
--bind <adresse> Adresse, auf der sie lauscht (Vorgabe 0.0.0.0)
--no-start installieren, aber Dienste nicht starten
--no-install-deps parted und exfatprogs nicht nachinstallieren
--force auch ohne erkanntes Proxmox VE installieren
--help Übersicht

Hilfswerkzeug

tools/get-guest-tools.sh <iso-storage>

Holt die virtio-win-Treiber auf einen ISO-Storage — für Windows-Gäste, die Treiber brauchen, oder für Zwischenablage und Mauszeiger unter SPICE.