Created
April 7, 2025 21:08
-
-
Save szabbenjamin/a44538ebc73795c4a32e55531307664d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Konfigurálható változók | |
| BACKUP_DIR="/mnt/pve/backups/backups" # A biztonsági mentés helye | |
| VM_IDS="100 101 102 103 106 107 109 110 112 115 118 104 105 111 113" # A mentendő VM-ek vagy konténerek azonosítói | |
| COMPRESSION="zstd" # Zstandard tömörítés | |
| # Létrehozza a backup könyvtárat, ha nem létezik | |
| mkdir -p "$BACKUP_DIR" | |
| # Végigmegy minden VM ID-n és elvégzi a mentést | |
| for VMID in $VM_IDS; do | |
| # Ellenőrizzük, hogy létezik-e a VM | |
| if qm status $VMID >/dev/null 2>&1; then | |
| echo "Leállítás: VM $VMID" | |
| qm shutdown $VMID --skiplock 1 | |
| # Várunk, amíg a VM teljesen leáll | |
| while qm status $VMID | grep -q "running"; do | |
| echo "Várakozás a VM $VMID leállására..." | |
| sleep 5 | |
| done | |
| echo "Biztonsági mentés indítása: VM $VMID" | |
| vzdump $VMID --mode stop --compress $COMPRESSION --dumpdir "$BACKUP_DIR" | |
| echo "Újraindítás: VM $VMID" | |
| qm start $VMID | |
| elif pct status $VMID >/dev/null 2>&1; then | |
| echo "Leállítás: LXC $VMID" | |
| pct shutdown $VMID | |
| while pct status $VMID | grep -q "running"; do | |
| echo "Várakozás az LXC $VMID leállására..." | |
| sleep 5 | |
| done | |
| echo "Biztonsági mentés indítása: LXC $VMID" | |
| vzdump $VMID --mode stop --compress $COMPRESSION --dumpdir "$BACKUP_DIR" | |
| echo "Újraindítás: LXC $VMID" | |
| pct start $VMID | |
| else | |
| echo "HIBA: A(z) $VMID VM vagy LXC nem létezik!" | |
| fi | |
| done | |
| # Opcionálisan törölhetjük a 180 napnál régebbi mentéseket | |
| find "$BACKUP_DIR" -type f -mtime +180 -delete | |
| echo "Feltöltés S3-ra" | |
| aws s3 sync "$BACKUP_DIR" s3://bucket-name/backups --storage-class DEEP_ARCHIVE | |
| echo "Backup completed successfully!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment