# Welche Gäste? Eine Gruppe sucht sich ihre Gäste über eine oder mehrere Regeln. Dabei gilt:
Alle Einschluss-Regeln wirken als **ODER** — wer *eine* davon erfüllt, ist dabei. Alle Ausschluss-Regeln **gewinnen immer** — auch gegen `all = yes`.
```ini all = yes # alle VMs und Container vmids = 100,101,105-110 # nach ID, auch Bereiche names = web-*, db-0? # nach Name, mit Platzhaltern tags = produktion, wichtig # nach Proxmox-Tag pools = Kunden # nach Proxmox-Pool types = qemu # nur VMs (lxc = nur Container; leer = beides) exclude_vmids = 999 exclude_names = *-test exclude_tags = nosnap ``` Kontrollieren lässt sich das Ergebnis an zwei Stellen: unten in der [Gruppenmaske](editor.md#eine-gruppe-bearbeiten) („Trifft aktuell zu auf …") und mit `pvesnap vms`. --- ## Tags **Der empfohlene Weg.** Die Auswahl steht dann bei der VM, nicht in der Konfiguration — und eine neue Maschine ist mit einem Klick dabei, ohne dass jemand `pvesnap.conf` anfassen muss. ```ini tags = produktion ``` In Proxmox setzen: ```bash qm set 101 --tags produktion,datenbank pct set 110 --tags produktion ``` Oder in der Oberfläche unter **VM → Optionen → Tags**. Groß- und Kleinschreibung ist egal; pvesnap vergleicht in Kleinbuchstaben. Mehrere Tags an einer VM trennt Proxmox mit `;` oder `,` — beides wird gelesen. !!! tip "Ein Tag je Zeitplan" Bewährt hat sich, die Tags nach dem Sicherungsrhythmus zu benennen und nicht nach der Funktion: ```ini [group:stuendlich] tags = stuendlich [group:taeglich] tags = produktion ``` Dann sieht man in der Proxmox-Oberfläche an jeder VM sofort, wie oft sie gesichert wird — ohne die Konfiguration zu öffnen. --- ## VMIDs ```ini vmids = 100,101,105-110,200 ``` Einzelne IDs und Bereiche, durch Komma getrennt. Am bequemsten über die [VM-Auswahl](editor.md#vms-aus-einer-liste-wahlen) im Editor. Präzise, aber pflegeintensiv: Jede neue Maschine muss von Hand nachgetragen werden. Für kleine, feste Zusammenstellungen in Ordnung, für alles Wachsende sind Tags besser. --- ## Namensmuster ```ini names = web-*, db-0? ``` | Zeichen | | |---|---| | `*` | beliebig viele Zeichen | | `?` | genau ein Zeichen | | `[abc]` | eines dieser Zeichen | Praktisch bei sauberer Namenskonvention (`web-01`, `web-02`, `db-01`), gefährlich ohne: Eine VM, die jemand `web-test-alt` nennt, fällt in `web-*` hinein. Dagegen hilft ein `exclude_names = *-test`. --- ## Pools ```ini pools = Kunden ``` Nach dem Proxmox-Pool. Sinnvoll, wenn die Pools ohnehin nach Kunde oder Abteilung geschnitten sind — dann sichert eine Gruppe genau einen Mandanten. --- ## Gasttyp ```ini types = qemu # nur virtuelle Maschinen types = lxc # nur Container types = # beides (Vorgabe) ``` Nützlich in Verbindung mit `vmstate = yes`, das ohnehin nur für QEMU gilt: Eine Gruppe mit RAM-Sicherung für die VMs, eine ohne für die Container. --- ## Ausschlüsse ```ini exclude_vmids = 999 exclude_names = *-test, temp-* exclude_tags = nosnap, pvesnap-recovery ``` Ausschlüsse schlagen alles. Auch `all = yes`. !!! success "Zwei Ausschlüsse, die in jede `all`-Gruppe gehören" ```ini exclude_tags = nosnap, pvesnap-recovery ``` **`nosnap`** ist der Notausgang: Wer eine einzelne Maschine aus der Sicherung nehmen will, setzt ihr das Tag — ohne die Konfiguration anzufassen. **`pvesnap-recovery`** trägt jede laufende [Wiederherstellung](../wiederherstellen/index.md). Ohne den Ausschluss bekämen diese kurzlebigen Maschinen eigene Snapshots — die dann wiederum verhindern, dass sie sich sauber verwerfen lassen. --- ## Mehrere Regeln kombiniert ```ini [group:taeglich] tags = produktion vmids = 300 exclude_names = *-test exclude_tags = nosnap ``` Gelesen: *alles mit dem Tag `produktion`* **oder** *VM 300*, **aber nichts**, was auf `-test` endet oder das Tag `nosnap` trägt. --- ## Gestoppte Gäste ```ini skip_stopped = yes ``` Übergeht Gäste, die gerade aus sind. Vorgabe ist `no` — auch von einer gestoppten Maschine wird ein Snapshot angelegt. Beides ist vertretbar: | | | |---|---| | `skip_stopped = no` | Der Stand ist gesichert, auch wenn die VM länger aus ist. Kostet bei kurzen Intervallen viele identische Snapshots. | | `skip_stopped = yes` | Nur laufende Maschinen. Passt zu stündlichen Gruppen, spart Platz — aber eine über Wochen abgeschaltete VM bekommt gar nichts mehr. | !!! note "Der Mischbetrieb" Eine stündliche Gruppe mit `skip_stopped = yes`, eine monatliche mit `skip_stopped = no`. Dann bekommt jede Maschine mindestens den monatlichen Stand, und die laufenden zusätzlich die feine Auflösung. --- ## Nachsehen, was herauskommt ```bash pvesnap vms ``` ``` VMID Name Status Gruppen 100 web01 running stuendlich, taeglich, monatlich 101 db01 running stuendlich, taeglich, monatlich 120 build-test stopped (keine Gruppe) ``` Dasselbe im Editor unter Taste ++v++: ![Übersicht: welche VM in welcher Gruppe](../bilder/config-uebersicht.svg)