Автобэкап сайта часто вспоминают только тогда, когда уже нужно восстановление. Если резервные копии не создаются или создаются пустыми, проблема должна решаться до аварии.

Проверяйте не только факт появления архива, но и его размер, состав, базу данных, логи, место хранения и возможность реально восстановить сайт из копии.

Коротко: что сделать

  • Проверить cron или расписание панели
  • Проверить свежесть и размер последнего архива
  • Проверить логи backup-скрипта
  • Проверить свободное место на диске и удаленном хранилище
  • Проверить, входит ли база данных в копию

Основные причины

У проблемы может быть несколько уровней: интерфейс, backend, права, внешняя интеграция, кэш, очередь задач или настройки сервера. Поэтому лучше не гадать, а пройти цепочку от действия пользователя до записи в логах и базе.

  • Cron не запускается или запускается не тем пользователем
  • На диске закончилось место
  • mysqldump падает из-за прав или пароля
  • Архив исключает важные папки uploads или config
  • Удаленное хранилище S3/FTP недоступно

Пошаговая диагностика

Диагностику удобнее вести на одном воспроизводимом примере: один пользователь, один заказ, один запрос, один файл или одно событие. Так проще отделить реальную причину от случайных совпадений.

  • Запустить backup-скрипт вручную и посмотреть вывод
  • Проверить crontab и системные логи cron
  • Проверить df -h и df -i
  • Открыть архив и проверить файлы и дамп базы
  • Сделать тестовое восстановление на отдельной папке

Как исправить проблему

Исправление должно закрывать первопричину. Если затронуты платежи, доступы, персональные данные, уведомления или рабочие заказы, сначала проверьте решение на тестовом сценарии и сохраните возможность отката.

  • Исправить расписание и пользователя cron
  • Настроить ротацию старых копий
  • Обновить доступы к базе и удаленному хранилищу
  • Добавить проверку размера и состава архива
  • Настроить уведомления об ошибках бэкапа

Безопасный план решения

Сначала настройте создание копии локально, затем отправку в удаленное хранилище, затем тест восстановления. Бэкап без проверки восстановления нельзя считать надежным.

Чего не стоит делать

  • Не хранить единственную копию на том же диске без внешнего дубля
  • Не удалять старые копии до проверки новой
  • Не хранить пароли в доступном всем файле
  • Не считать пустой архив успешным бэкапом

Что подготовить перед исправлением

  • Как сейчас запускается бэкап
  • Где хранятся копии
  • Последний лог ошибки
  • Размер последнего архива
  • Нужно ли копировать базу и uploads

FAQ

Как часто делать бэкап?

Зависит от активности сайта. Для сайта с заявками и заказами обычно нужен минимум ежедневный бэкап базы и регулярный бэкап файлов.

Почему архив создается, но сайт из него не восстановить?

В архиве может не быть базы, uploads, config или могут быть повреждены права и кодировка дампа.

Нужно ли удаленное хранилище?

Да, если сервер потерян или диск поврежден, локальная копия может не помочь.

Когда стоит обратиться за помощью

Помощь нужна, если на сайте есть заявки, заказы, личные кабинеты, база клиентов или контент, который нельзя потерять.

Итог

Проверьте cron, логи, размер архива, базу и тест восстановления. Если нужно настроить надежный автобэкап сайта, пишите в Telegram @rabotator_support.