Налаштування резервного копіювання Бітрікс24 On-Premise
Диск помирає несподівано. Або хтось випадково виконує rm -rf у /home/bitrix/www. Відновлення 10 000 клієнтських записів без бекапу – це міф. У практиці On-Premise-адміністрування саме регулярна та протестована копія даних відокремлює компанії, які сплять спокійно, від тих, хто шукає гроші на викуп даних у відновлювачів. Середні збитки від втрати бази в 100 ГБ оцінюються в $4.5k–6.5kів – така вартість простою та повторного введення даних. Налаштування резервного копіювання Бітрікс24 On-Premise – це не разова задача, а процес. Ми розберемо, які компоненти і як копіювати, а головне – як переконатися, що бекап дійсно спрацює. За 10 років адміністрування сотень інсталяцій ми вивели просту формулу: RPO не більше 1 години, RTO не більше 4 годин. І це досяжно без дорогих коробкових рішень. Більше того, грамотна схема бекапу скорочує час відновлення до 2 годин у 90% випадків, а вартість професійного налаштування окупається вже після першого успішного відновлення. Наприклад, для інсталяції з 50 ГБ бази і 200 ГБ файлів повний цикл бекапу займає менше 30 хвилин.
Що потрібно бекапити
Бітрікс24 On-Premise складається з кількох компонентів, кожен потребує окремої стратегії. Ось мінімальний набір:
| Компонент | Розташування | Інструменти | Частота |
|---|---|---|---|
| База даних MySQL/MariaDB | /var/lib/mysql/bitrix |
Percona XtraBackup, mysqldump | Інкремент щогодини, повний раз на добу |
| Файли ядра | /home/bitrix/www |
rsync, tar | Раз на добу |
| Завантажені файли | /home/bitrix/www/upload |
rsync | Кожні 4 години |
| Диск Бітрікс24 | /home/bitrix/www/bitrix/managed_cache |
rsync | Раз на добу (якщо кеш важливий) |
| Конфігурація nginx, PHP | /etc/nginx, /etc/php.ini |
git, rsync | Після кожної зміни |
Чому Percona XtraBackup краще за mysqldump?
mysqldump створює логічний дамп – він блокує таблиці на запис і потребує повного дампу щоразу. Для бази в 50 ГБ час дампу може перевищувати годину, а відновлення – ще довше. Percona XtraBackup робить фізичну копію InnoDB-таблиць на льоту, без блокування, і підтримує інкрементальні бекапи. Результат: повний бекап 50 ГБ БД – 15 хвилин, інкремент – 3–5 хвилин. Це дозволяє тримати RPO в межах години навіть на високонавантажених проектах.
Вбудований бекап: коли він підходить?
Модуль «Резервне копіювання» в Бітрікс24 зручний для малих сайтів (до 1 ГБ даних) або як швидкий засіб для перенесення на тестовий стенд. Але для production він небезпечний: архів пишеться на той же диск, немає ротації, не підтримується інкремент. Як зазначено в офіційній документації 1С-Бітрікс (https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=2724&LESSON_PATH=3913.3516.2724), «даний метод не рекомендується для регулярного використання на великих проектах». Використовуйте його як доповнення до основного бекапу.
Як налаштувати професійний бекап через cron
База даних з Percona XtraBackup – стандарт для production:
#!/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 Не забудьте налаштувати змінні середовища: DB_PASS – пароль користувача bitrix, а latest_full – симлінк на останній повний бекап.
Скрипт для 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 {} \; Зовнішнє сховище: порівняння варіантів
Бекап на тому ж сервері – не бекап. Якщо сервер помирає, ви втрачаєте все. Порівняйте популярні зовнішні сховища:
| Варіант | Швидкість відновлення | Вартість | Надійність |
|---|---|---|---|
| S3-сховище (Яндекс Object Storage, AWS S3) | Середня (залежить від каналу) | Низька (оплата за ГБ) | Висока (10+ дев'яток) |
| Offsite-сервер по rsync/SSH | Висока (локальна мережа) | Середня (оренда сервера) | Висока (географічна розподіленість) |
| NAS + реплікація в хмару | Висока (NAS), середня (хмара) | Середня (вартість NAS) | Середня (NAS може вийти з ладу) |
При цьому вартість зберігання 1 ТБ в S3 становить близько $9–13ів на місяць. Для production рекомендуємо гібрид: локальний rsync-бекап на NAS з подальшою реплікацією в S3-сховище в інший регіон. Це дає і швидкість відновлення, і географічний захист.
Як часто потрібно тестувати відновлення?
Бекап, який ніколи не тестувався, – це ілюзія безпеки. Мінімум раз на квартал виконуйте навчання:
- Розгорніть тестовий сервер з такою ж версією ОС та Бітрікс24.
- Відновіть останній повний бекап БД:
xtrabackup --prepare && xtrabackup --copy-back. - Розгорніть файли з rsync-копії на тестовий сервер.
- Перевірте працездатність: авторизація, відкриття CRM, створення ліда, останні записи.
- Зафіксуйте час відновлення (RTO). Для більшості On-Premise-інсталяцій цільовий RTO – не більше 4 годин.
Наш досвід: перша перевірка часто виявляє помилки в скриптах або несумісність версій. Після двох-трьох навчань процес стає рутинним.
Що входить у налаштування резервного копіювання під ключ
Якщо ви хочете гарантувати збереження даних, замовте професійне налаштування. У роботу входить:
- Аудит поточної конфігурації: перевірка дискової підсистеми, каналів зв'язку, прав доступу.
- Встановлення та налаштування Percona XtraBackup з інкрементальним бекапом (RPO 1 год).
- Скрипти rsync для файлів з ротацією та видаленням старих копій.
- Налаштування зовнішнього сховища (S3 або offsite) з шифруванням каналу.
- Документування процедури відновлення та навчання вашого адміністратора.
- Разове тестове відновлення з вимірюванням RTO.
- Гарантія: при дотриманні регламенту ми відновлюємо дані в обумовлений час.
Отримайте консультацію – оцінимо ваш сервер і запропонуємо оптимальну схему бекапу за один день. Зверніться до наших інженерів, щоб захистити свої дані.







