Настройка резервного копирования Битрикс24 On-Premise
Резервное копирование — единственное, что встанет между вами и катастрофой, когда диск умрёт или кто-то случайно удалит 10 000 клиентских записей. В практике On-Premise-администрирования именно «у нас есть бэкап» отличает серьёзные компании от тех, кто восстанавливает данные за деньги или не восстанавливает вообще.
Что нужно бэкапить
Битрикс24 On-Premise состоит из нескольких компонентов, каждый требует отдельной стратегии:
| Компонент | Расположение | Метод | Частота |
|---|---|---|---|
| База данных | MySQL/MariaDB | mysqldump / Percona XtraBackup | Каждый час (инкремент) / раз в сутки (полный) |
| Файлы сайта | /home/bitrix/www |
rsync / tar | Раз в сутки |
| Загруженные файлы | /home/bitrix/www/upload |
rsync | Каждые 4 часа |
| Конфигурация | nginx, php.ini, .env | git или rsync | При изменениях |
| Disk Bitrix24 | /home/bitrix/www/bitrix/managed_cache + upload |
rsync | Раз в сутки |
Настройка встроенного бэкапа
Битрикс24 имеет встроенный модуль резервного копирования: Настройки → Резервное копирование. Он создаёт архивы файлов и дамп БД, но имеет критичные ограничения:
- Медленнее профессиональных инструментов (mysqldump через PHP)
- Создаёт архив на том же диске — при отказе диска теряется вместе с данными
- Нет инкрементального копирования — каждый раз полный бэкап
Для production встроенный бэкап используйте только как дополнение, не как основу.
Профессиональная настройка через cron
База данных с Percona XtraBackup (для баз >10 ГБ):
#!/bin/bash
# /usr/local/bin/bitrix-backup-db.sh
BACKUP_DIR="/backup/bitrix/db"
DATE=$(date +%Y%m%d_%H%M)
# Полный бэкап каждое воскресенье
if [ $(date +%u) -eq 7 ]; then
xtrabackup --backup --target-dir=$BACKUP_DIR/full_$DATE \
--user=bitrix --password=$DB_PASS
else
# Инкрементальный бэкап в остальные дни
xtrabackup --backup --target-dir=$BACKUP_DIR/inc_$DATE \
--incremental-basedir=$BACKUP_DIR/latest_full \
--user=bitrix --password=$DB_PASS
fi
Файлы через rsync с ротацией:
#!/bin/bash
# Ежедневный бэкап файлов с хранением 30 дней
rsync -avz --delete \
/home/bitrix/www/upload/ \
backup-server:/backups/bitrix-upload/$(date +%Y%m%d)/
# Удаление бэкапов старше 30 дней
find /backups/bitrix-upload/ -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
Внешнее хранилище бэкапов
Бэкап на том же сервере — не бэкап. Настройте репликацию на внешние хранилища:
Вариант 1: S3-совместимое хранилище (Яндекс Object Storage, Mail Cloud, AWS S3):
aws s3 sync /backup/bitrix/ s3://your-bucket/bitrix-backups/ \
--endpoint-url https://storage.yandexcloud.net
Вариант 2: Offsite-сервер по rsync/SSH: настройте ключи SSH и автоматическую синхронизацию в cron на резервный сервер в другом датацентре.
Вариант 3: NAS в локальной сети как промежуточное хранилище + репликация в облако.
Тестирование восстановления
Бэкап, который никогда не тестировался на восстановление — это иллюзия безопасности. Минимум раз в квартал выполняйте учения:
- Разверните тестовый сервер
- Восстановите последний бэкап БД:
xtrabackup --prepare && xtrabackup --copy-back - Восстановите файлы
- Проверьте работоспособность: авторизация, открытие CRM, проверка последних записей
- Зафиксируйте время восстановления (RTO) — для большинства клиентов приемлемо 2–4 часа
Целевые показатели для On-Premise Битрикс24:
- RPO (допустимая потеря данных): не более 1 часа → почасовые инкрементальные бэкапы БД
- RTO (время восстановления): не более 4 часов → документированная процедура, протестированная заранее
Если бэкап не тестировался — он не работает. Это аксиома.







