Автоматична синхронизация на Proxmox бекъпи под Windows 11 WSL2

Автоматична синхронизация на Proxmox бекъпи под Windows 11 WSL2

Тези скриптове автоматично следят за нови LXC бекъпи на вашите Proxmox сървъри и ги свалят локално. Идеални са за Windows 11 с WSL2, където искате да архивирате бекъпите си на локален диск.

Основни възможности

  • ✅ Автоматично откриване на нови бекъпи
  • ✅ Проследяване на свалени файлове (не сваля същия бекъп повторно)
  • ✅ Автоматично изтриване на стари бекъпи (по избор)
  • ✅ Детайлно логване на всички операции
  • ✅ Поддръжка на множество LXC контейнери
  • ✅ Възможност за работа с множество Proxmox сървъри независимо

Предварителни изисквания

  • Windows 11 с инсталиран WSL2 (Ubuntu препоръчително)
  • SSH достъп до Proxmox сървърите
  • rsync инсталиран (обикновено идва по подразбиране в WSL)
  • Монтиран Windows диск в WSL (например /mnt/d/)

Инсталация

Сваляне на скриптовете

# За първи Proxmox сървър
wget https://gist.fedia.eu/urocibg/70159bb552e1499083b3622d2f9b09e6/raw/HEAD/backup_sync_pve1.sh
chmod +x backup_sync_pve1.sh

# За втори Proxmox сървър
wget https://gist.fedia.eu/urocibg/bc68e101d0b04df8b765a81b42621453/raw/HEAD/backup_sync_pve2.sh
chmod +x backup_sync_pve2.sh

Първоначална настройка

Първи сървър (PVE1):

# Стартирай скрипта първи път за създаване на конфигурационен файл
./backup_sync_pve1.sh

# Отвори конфига за редактиране
nano backup_config_pve1.conf

Редактирай следните параметри:

  • PROXMOX_HOST – IP адрес на Proxmox сървъра (например: 10.110.110.68)
  • PROXMOX_USER – потребител за SSH достъп (обикновено: root)
  • REMOTE_BACKUP_PATH – път до бекъпите на сървъра (например: /backup512/dump)
  • LOCAL_BACKUP_PATH – локален път за съхранение (например: /mnt/d/backup_proxmox_pve1)
  • LXC_IDS – ID-та на LXC контейнерите, разделени със запетая (например: 111,114)
  • KEEP_DAYS – брой дни за задържане на локални бекъпи (0 = безкрайно)

Втори сървър (PVE2):

# Стартирай скрипта първи път
./backup_sync_pve2.sh

# Редактирай конфига
nano backup_config_pve2.conf

Промени същите параметри като горе, но със стойностите за втория сървър.

Настройка на SSH ключове (препоръчително)

За да работят скриптовете без парола:

# Генерирай SSH ключ ако нямаш
ssh-keygen -t rsa -b 4096

# Копирай ключа на първия Proxmox
ssh-copy-id [email protected]

# Копирай ключа на втория Proxmox
ssh-copy-id [email protected]

# Тествай връзката
ssh [email protected]
ssh [email protected]

Използване

Ръчно стартиране

# Синхронизация само от първия сървър
./backup_sync_pve1.sh

# Синхронизация само от втория сървър
./backup_sync_pve2.sh

# Синхронизация от двата сървъра
./backup_sync_pve1.sh && ./backup_sync_pve2.sh

Автоматизация с Cron

За автоматично изпълнение на всеки 6 часа:

# Отвори crontab
crontab -e

# Добави следните редове (промени пътищата според твоята инсталация)
0 */6 * * * /home/username/backup_sync_pve1.sh >> /home/username/backup_sync_pve1.log 2>&1
0 */6 * * * /home/username/backup_sync_pve2.sh >> /home/username/backup_sync_pve2.log 2>&1

Примери за различни интервали:

  • Всеки час: 0 * * * *
  • Всеки ден в 2:00 часа: 0 2 * * *
  • Всеки ден в 2:00 и 14:00: 0 2,14 * * *
  • Всяка неделя в 3:00: 0 3 * * 0

Мониторинг

Преглед на логовете

# Последните 20 реда от лога на PVE1
tail -20 backup_sync_pve1.log

# Последните 20 реда от лога на PVE2
tail -20 backup_sync_pve2.log

# Следене на лога в реално време
tail -f backup_sync_pve1.log

Проверка на свалените бекъпи

# Покажи всички бекъпи от PVE1
ls -lh /mnt/d/backup_proxmox_pve1/

# Покажи всички бекъпи от PVE2
ls -lh /mnt/d/backup_proxmox_pve2/

# Покажи само последните 5 бекъпа
ls -lt /mnt/d/backup_proxmox_pve1/ | head -6

Проверка на статистика

# Колко бекъпа са свалени от PVE1
wc -l .downloaded_backups_pve1

# Колко място заемат бекъпите
du -sh /mnt/d/backup_proxmox_pve1/
du -sh /mnt/d/backup_proxmox_pve2/

Структура на файловете

След инсталацията ще имате следните файлове за всеки сървър:

За първи сървър:

  • backup_sync_pve1.sh – основен скрипт
  • backup_config_pve1.conf – конфигурационен файл
  • backup_sync_pve1.log – лог файл
  • .downloaded_backups_pve1 – tracking файл (скрит)

За втори сървър:

  • backup_sync_pve2.sh – основен скрипт
  • backup_config_pve2.conf – конфигурационен файл
  • backup_sync_pve2.log – лог файл
  • .downloaded_backups_pve2 – tracking файл (скрит)

Често срещани проблеми

"Permission denied" при SSH

Решение: Настрой SSH ключове както е описано по-горе, или провери правата на .ssh директорията:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

Скриптът не намира бекъпите

Решение: Провери дали пътят REMOTE_BACKUP_PATH е правилен:

ssh [email protected] "ls -la /backup512/dump"

Бекъпите не се трият автоматично

Решение: Провери стойността на KEEP_DAYS в конфиг файла. Ако е 0, автоматичното триене е изключено.

"rsync: command not found"

Решение: Инсталирай rsync:

sudo apt update
sudo apt install rsync

Допълнителни съвети

Оптимизация на мрежовия трафик

Ако имаш бавна мрежа, можеш да добавиш компресия в SSH_OPTIONS:

SSH_OPTIONS="-o ConnectTimeout=30 -o ServerAliveInterval=60 -C"

Известия при завършване

Добави известие в края на скрипта:

# В края на скрипта добави
echo "Backup sync приключи!" | wall

Backup на конфигурационните файлове

Препоръчително е да направиш копие на конфиг файловете:

cp backup_config_pve1.conf backup_config_pve1.conf.backup
cp backup_config_pve2.conf backup_config_pve2.conf.backup

Заключение

Тези скриптове ти осигуряват надеждна автоматична система за архивиране на Proxmox бекъпи. Веднъж настроени, те работят автономно и гарантират, че винаги имаш локално копие на важните си LXC контейнери.

За въпроси и проблеми можете да проверите логовете или да тествате връзката до Proxmox сървърите ръчно със ssh и rsync.

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

💝 Благодарим ви, че прочетохте тази статия! Ако сте намерили информацията за полезна, можете да подкрепите нашия труд със символична сума:
💝 Благодарим ви за подкрепата!

Последвайте ни във Facebook за още IT съвети и новини

Последвайте ни

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 9 - 1 ? (въведете числото)