[[Uebersicht|← Zurück zur Homepage]]
# VM109 Auto-Snapshot Job
**Version:** 1.0
**Datum:** 2026-06-21
**Uhrzeit:** erstellt mit Claude.ai
---
## Aufgabe
Automatische stündliche Snapshots der VM 109 auf Proxmox.
- **Zeitfenster:** 06:00–20:00 Uhr täglich
- **Intervall:** jede volle Stunde
- **Maximale Snapshots:** 6 (älteste werden automatisch gelöscht)
- **RAM-Inhalt:** Nein (ohne `--vmstate`)
---
## Script
**Pfad:** `/usr/local/bin/vm109_snapshot.sh`
```bash
#!/bin/bash
VMID=109
MAX_SNAPSHOTS=6
SNAP_PREFIX="auto_"
TIMESTAMP=$(date +%Y%m%d_%H%M)
SNAP_NAME="${SNAP_PREFIX}${TIMESTAMP}"
qm snapshot $VMID "$SNAP_NAME" --description "Auto-Snapshot $TIMESTAMP"
SNAPSHOTS=$(qm listsnapshot $VMID | grep "$SNAP_PREFIX" | awk '{print $2}' | sort)
COUNT=$(echo "$SNAPSHOTS" | grep -c .)
if [ "$COUNT" -gt "$MAX_SNAPSHOTS" ]; then
DELETE_COUNT=$((COUNT - MAX_SNAPSHOTS))
TO_DELETE=$(echo "$SNAPSHOTS" | head -n $DELETE_COUNT)
while IFS= read -r snap; do
qm delsnapshot $VMID "$snap"
done <<< "$TO_DELETE"
fi
```
---
## Einrichtung
```bash
# 1. Script anlegen
nano /usr/local/bin/vm109_snapshot.sh
# 2. Ausführbar machen
chmod +x /usr/local/bin/vm109_snapshot.sh
# 3. Cronjob (als root auf Proxmox-Host)
crontab -e
```
Cronjob-Eintrag:
```
0 6-20 * * * /usr/local/bin/vm109_snapshot.sh
```
---
## Logik
- Snapshots erhalten Namen im Format `auto_YYYYMMDD_HHMM`
- `sort` auf den Namen = chronologische Reihenfolge
- Wenn COUNT > 6 → älteste werden mit `head -n` selektiert und gelöscht
- Pro Tag entstehen max. 15 Snapshots (06:00–20:00), es bleiben immer 6
---
## Hinweise
- Cronjob läuft als `root` auf dem Proxmox-Host (`pve`)
- Keine Logs eingebaut – bei Bedarf `>> /var/log/vm109_snap.log 2>&1` ans Script anhängen
- VM 109 = HAOS (Home Assistant OS)
---
---
[[Hinweise/Impressum|Impressum]] | [[Hinweise/Datenschutzerklärung|Datenschutz]]