Дедуплицированный шифрованный бэкап файлов сайта через BorgBackup
Пошаговая конфигурация BorgBackup: клиентское шифрование AES-256, дедупликация данных (экономия до 80% места), сжатие zstd и ротация архивов.
Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/root/scripts/borg-backup.sh
#!/bin/bash
# Скрипт BorgBackup для файлов сайта
export BORG_REPO="/mnt/backup_storage/borg-repo"
export BORG_PASSPHRASE="СВЕРХСЕКРЕТНЫЙ_ПАРОЛЬ"
# Создание архива с сжатием zstd
borg create --stats --compression zstd,3 ::"{hostname}-{now:%Y-%m-%d_%H-%M}" /var/www/example.com
# Ротация архивов: 7 дней, 4 недели, 6 месяцев
borg prune -v --list --keep-daily=7 --keep-weekly=4 --keep-monthly=6
Разбор ключевых директив конфигурации
Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).
| Директива / Блок | Рекомендуемое значение | Зачем нужно и системное влияние (CPU / RAM / I-O) |
|---|---|---|
compression zstd,3 |
zstd,3 | Быстрое сжатие алгоритмом Zstandard без просадок CPU. |
borg prune |
keep-daily=7 | Автоматически удаляет старые точки восстановления по расписанию. |
--single-transaction |
--single-transaction | Создает целостный снимок базы данных InnoDB без блокировки рабочих таблиц и остановки пользователей сайта. |
find -mtime +14 -delete |
14 дней | Автоматически удаляет устаревшие архивы резервных копий для предотвращения 100% переполнения диска. |
Рекомендуемые системные требования VDS под этот стек
Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.
Оптимальный сайзинг: 2 vCPU, 2 GB RAM, Внешний диск или SSH-сервер бэкапов
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
2 vCPU /
2 GB RAM /
50 GB NVMe
Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
2 vCPU /
2 GB RAM /
50 GB NVMe
Beget
Turbo 4 GB
Рекомендуемые ресурсы
2 vCPU /
2 GB RAM /
50 GB NVMe
Онлайн-утилиты SysKit для проверки этого сервера
Протестируйте корректность применения конфигурации прямо сейчас в один клик.
Частые ошибки при настройке и их решение (FAQ)
Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.
Как инициализировать репозиторий?
Выполните `borg init --encryption=repokey /path/to/repo`.
Как настроить запуск бэкапа по расписанию в Cron?
Выполните `crontab -e` и добавьте строку: `0 3 * * * /bin/bash /path/to/backup.sh >/dev/null 2>&1` для ежедневного запуска в 03:00 ночи.
Как проверить целостность созданного архива?
Для tar.gz: `tar -tzf archive.tar.gz > /dev/null`, для gzip: `gzip -t backup.sql.gz`. Если команда завершилась без ошибок, архив не поврежден.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.