# Alle Befehle ## `pvesnap` Der Snapshot-Dienst und seine Verwaltung. ```bash pvesnap [globale Optionen] [optionen] ``` ### Globale Optionen | Option | Vorgabe | | |---|---|---| | `-c`, `--config ` | `/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](../sichern/editor.md) | | `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 ` | nur diese Gruppe (mehrfach möglich) | | `-f`, `--force` | unabhängig vom Zeitplan ausführen | | `--no-prune` | nicht aufräumen | ```bash 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 ` | nur diese Gruppe | ### `list` | Option | | |---|---| | `-g`, `--group ` | nur diese Gruppe | | `-a`, `--all` | auch fremde und von Hand angelegte Snapshots anzeigen | --- ## `pvesnap-explorer` ```bash pvesnap-explorer [vmid] [snapshot] [optionen] ``` | Parameter | Vorgabe | | |---|---|---| | `vmid` | — | Gast direkt vorwählen | | `snapshot` | — | Snapshot direkt vorwählen | | `-l`, `--local ` | aktuelles Verzeichnis | Startverzeichnis im rechten Fenster | | `-p`, `--path ` | — | beliebiges Verzeichnis öffnen, ohne Proxmox zu fragen | | `--cleanup` | — | hängengebliebene Einbindungen lösen und beenden | | `-v`, `--verbose` | — | ausführliches Protokoll | | `-V`, `--version` | — | Version anzeigen | ```bash 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` ```bash pvesnap-web [vmid] [snapshot] [optionen] ``` | Parameter | Vorgabe | | |---|---|---| | `-P`, `--port ` | `8823` | Port, auf dem gelauscht wird | | `-b`, `--bind ` | `0.0.0.0` | Netzwerkadresse; `127.0.0.1` = nur lokal | | `-a`, `--auth pve\|token\|none` | `pve` | Anmeldeart | | `--require-privilege ` | `VM.Snapshot` | nötiges Recht auf dem Gast | | `--allow-user ` | — | dieser Benutzer darf alles (mehrfach möglich) | | `-t`, `--token ` | zufällig | Zugangsschlüssel selbst vorgeben | | `--no-token` | — | Kurzform für `--auth none` | | `-p`, `--path ` | — | 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` ```bash pvesnap-recovery # ncurses-Oberfläche pvesnap-recovery [optionen] ``` ### Unterbefehle | Befehl | | |---|---| | `live [snapshot]` | abgeschottet starten (ohne Snapshot: der neueste) | | `recover [snapshot]` | mit Netzwerk und gleicher Identität starten | | `list` | vorhandene Wiederherstellungen anzeigen | | `start ` | starten | | `stop ` | herunterfahren | | `console ` | noVNC-Adresse ausgeben | | `spice ` | Verbindungsdatei für `remote-viewer` | | `flatten ` | [vom Quell-Snapshot lösen](../wiederherstellen/loesen.md) | | `cleanup` | [Klone entfernen, zu denen es keinen Gast mehr gibt](../wiederherstellen/verwerfen.md#cleanup) | | `destroy ` | [restlos verwerfen](../wiederherstellen/verwerfen.md) | ### Optionen von `live` und `recover` | Parameter | | |---|---| | `--newid ` | VMID der neuen Maschine (Vorgabe: nächste freie) | | `--node ` | 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 ` | [Austauschlaufwerk](../wiederherstellen/transfer.md) anhängen (mehrfach möglich) | | `--spice` | SPICE-Anzeige (`vga: qxl`), zusätzlich zu noVNC | | `--usb ` | so viele USB-Weiterleitungen über SPICE (schaltet `--spice` mit ein) | | `--iso ` | Abbild als CD einlegen, z. B. `local:iso/virtio-win.iso` | | `--memory ` | abweichender Arbeitsspeicher (nicht mit `--resume`) | | `--cores ` | abweichende Kernzahl (nicht mit `--resume`) | | `--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 ` | 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 ```bash # 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 ```bash 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 ```bash ./install.sh [optionen] ./uninstall.sh [--purge] ``` | Option | | |---|---| | `--with-webexplorer` | Web-Oberfläche als Dienst einrichten (erfordert `--port`) | | `--port ` | Port der Web-Oberfläche | | `--bind ` | 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 ```bash tools/get-guest-tools.sh ``` 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](../wiederherstellen/dongle.md).