Резервное копирование и Disaster Recovery во FreePBX Backup & Restore
- Сбой автоматического выполнения бэкапа FreePBX с ошибкой
Backup failed to generate archive / Out of disk space. - Ошибка
SQLSTATE[HY000]: General error: 2006 MySQL server has gone awayпри развертывании резервной копии. - Невозможность восстановить архив FreePBX 15/16 на новую версию FreePBX 17 (ошибки миграции схем).
- Потеря голосовых приветствий, записей разговоров и лицензий после сбоя SSD-накопителя.
1. Настройка задания резервного копирования в веб-интерфейсе
- Перейдите в Admin -> Backup & Restore -> Backup.
- Создайте новое задание (Backup Item) и выберите компоненты:
System Configuration,CDR & CEL Logs,Custom Sounds,Recordings. - Во вкладке Storage выберите внешнее хранилище (SSH/SFTP Remote Server, AWS S3 или FTP). Никогда не храните бэкапы только локально!
- Настройте расписание запуска через Cron (например, ежедневно в 02:00 ночи) и глубину хранения (Retention Policy = 14 дней).
2. Создание аварийного снимка конфигурации из CLI
# Создание полного бэкапа всей системы через утилиту fwconsole
fwconsole backup --backup=default_backup_id
# Ручной дамп базы данных FreePBX (MySQL)
mysqldump -u root asterisk > /backup/asterisk_conf_$(date +%F).sql
mysqldump -u root asteriskcdrdb > /backup/asterisk_cdr_$(date +%F).sql3. Процедура аварийного восстановления (Disaster Recovery)
На чистом сервере с установленной идентичной версией FreePBX выполните:
# 1. Перенос архива бэкапа
scp user@backup-server:/storage/backup-2026-03-30.tar.gz /tmp/
# 2. Запуск восстановления через fwconsole
fwconsole backup --restore=/tmp/backup-2026-03-30.tar.gz --transaction
# 3. Перезагрузка модулей и применение конфигурации
fwconsole reload
fwconsole restart4. Реактивация коммерческих лицензий (Zend Deployment ID)
Если восстановление выполняется на новом физическом железе или новой виртуальной машине, привяжите Deployment ID:
fwconsole sysadmin reactivate <YOUR_DEPLOYMENT_ID> Частые вопросы (FAQ)
Можно ли восстановить бэкап со старой версии FreePBX (v14) на новую (v16/v17)?
Начиная с FreePBX 15 модуль Backup & Restore поддерживает кросс-версионное восстановление (Legacy Restore). Модуль автоматически производит миграцию и конвертацию старой структуры базы данных в новый формат.
Почему бэкап завершается ошибкой при наличии записей разговоров?
Раздел с записями разговоров (/var/spool/asterisk/monitor) может весить сотни гигабайт. Исключите аудиозаписи из основного ежедневного бэкапа конфигурации, настроив для записей отдельную синхронизацию через rsync/Rclone в S3.
Что делать, если fwconsole reload выдает ошибку после восстановления?
Сбросьте права на системные файлы: fwconsole chown, а затем обновите структуру модулей: fwconsole ma upgradeall && fwconsole reload.
Как автоматизировать тестирование восстановления бэкапов?
Разверните тестовую staging виртуальную машину и настройте еженедельный скрипт автоматического развертывания свежего бэкапа с проверкой запуска сервиса asterisk через fwconsole status.