Категории

Автоматический бэкап Proxmox с исключением папок

31.07.2025 09:11 | коды из категории: Linux

готовое решение для cron, которое будет делать ежедневный бэкап ВМ в Proxmox VE, исключая указанную папку (например, /mnt/data/).

про Автоматический бэкап Proxmox с исключением папок

Автоматический бэкап виртуальных машин в Proxmox VE с исключением папок

В этой статье я расскажу, как настроить автоматическое резервное копирование виртуальных машин в Proxmox VE, исключая из бэкапа смонтированные папки с большим объемом данных.

Проблема

При использовании vzdump для бэкапа виртуальных машин, по умолчанию копируются все данные, включая смонтированные через mp (mount point) папки. Если такие папки содержат большие объемы данных (например, 2 ТБ), это приводит к:

Решение

Используем параметр --exclude-path в vzdump, который позволяет исключить указанные пути из бэкапа.

1. Создаем скрипт для бэкапа

Создадим файл /root/scripts/vm_backup_exclude.sh:

#!/bin/bash

# Параметры:
VMID="100"                         # ID вашей виртуальной машины
EXCLUDE_PATH="/mnt/data"           # Путь внутри ВМ, который исключаем
BACKUP_DIR="/mnt/backups/vms"      # Куда сохранять бэкапы
MAX_BACKUPS=7                      # Сколько бэкапов хранить

# Создаем директорию для бэкапов
mkdir -p "$BACKUP_DIR"

# Делаем бэкап с исключением указанной папки
vzdump "$VMID" \
  --mode snapshot \
  --compress zstd \
  --storage local \
  --exclude-path "$EXCLUDE_PATH" \
  --dumpdir "$BACKUP_DIR" \
  --quiet 1

# Удаляем старые бэкапы
find "$BACKUP_DIR" -name "vzdump-qemu-$VMID-*.vma.zst" -type f | sort -r | tail -n +$((MAX_BACKUPS + 1)) | xargs rm -f

Примечание: Убедитесь, что у скрипта есть права на выполнение: chmod +x /root/scripts/vm_backup_exclude.sh

2. Настраиваем автоматизацию через cron

Добавляем задание в планировщик:

crontab -e

Добавляем строку для ежедневного бэкапа в 3:00 ночи:

0 3 * * * /root/scripts/vm_backup_exclude.sh >> /var/log/vm_backup.log 2>&1

Проверка работы

После настройки:

  1. Запустите скрипт вручную: /root/scripts/vm_backup_exclude.sh
  2. Проверьте логи: tail -f /var/log/vm_backup.log
  3. Убедитесь, что бэкап создался: ls -lh /mnt/backups/vms/

Важно: Исключенные из бэкапа данные нужно резервировать отдельно, если они важны!

Дополнительные возможности

Заключение

Это решение позволяет:

Теги: #linux #Ubuntu #proxmox #бэкап #vzdump #bash #автоматическое_резервное_копирование #mount_point #crontab

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку

Важно: Блог-эксперимент

Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.

Посетителей сегодня: 0


кто я | книга | контакты без контактов

© Digital Specialist | Не являемся сотрудниками Google, Яндекса и NASA