Перейти к содержимому

Резервное копирование и аварийное восстановление в Odoo 19: практическое руководство

Что содержит полная резервная копия, кто отвечает за неё при каждом типе размещения и как доказать, что восстановление действительно возможно
19 октября 2026 г. от
Резервное копирование и аварийное восстановление в Odoo 19: практическое руководство

Обзор резервного копирования и аварийного восстановления баз данных Odoo 19

Любая база данных Odoo со временем становится единственным источником достоверной информации для бизнеса: в ней хранятся счета, складские остатки, исходные данные для расчёта зарплаты, история клиентов и подписанные документы. Её потеря или восстановление неполной копии может остановить работу на несколько дней. И всё же многие компании обнаруживают пробелы в резервном копировании только в тот день, когда оно им понадобилось.

В этой статье разобраны основы управления базами данных, резервного копирования и аварийного восстановления для Odoo 19 Enterprise с пояснениями, чем отличаются установки Community на собственном сервере. Она написана для владельцев бизнеса, финансовых директоров и руководителей ИТ, которым нужна ясная картина без изучения каждой технической страницы.

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

Что содержит полная резервная копия Odoo

База данных Odoo — это не только база данных PostgreSQL. Вложения, такие как загруженные документы, изображения и другое двоичное содержимое, хранятся в виде файлов в так называемом хранилище файлов (filestore), а доступ к ним регулирует Odoo. Резервная копия, содержащая только дамп базы данных, восстановит ваши записи, но вложения будут отсутствовать.

В документации Odoo.sh указано, что резервные копии включают дамп базы данных, хранилище файлов (вложения и двоичные поля), журналы и сеансы. Это полезный ориентир того, как выглядит полная резервная копия при любом типе размещения.

  • Дамп базы данных: все записи, конфигурация, пользователи, бухгалтерские проводки и настройки.
  • Хранилище файлов: вложения и двоичные поля, например отсканированные счета поставщиков, изображения товаров и подписанные PDF-файлы.
  • Собственный код: в Odoo.sh и на собственном сервере ваши собственные модули находятся в репозитории кода, который требует отдельной защиты.
  • Конфигурация: на собственном сервере конфигурационный файл Odoo и настройки сервера также нужно документировать и надёжно хранить.

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

Схема вариантов резервного копирования Odoo по типам размещения и контрольный список восстановления

Резервное копирование по типам размещения

Ответственность за резервное копирование зависит от того, где работает ваша база данных. Odoo Online и Odoo.sh размещаются Odoo и включают автоматическое резервное копирование, а при собственном сервере ответственность полностью лежит на вашей команде. Редакцию Community обычно размещают на собственном сервере, поэтому к ней относятся описанные ниже обязанности для собственного сервера.

Odoo Online: менеджер баз данных

Для Odoo Online в официальной документации указано, что резервные копии баз данных создаются ежедневно в соответствии с SLA Odoo Cloud Hosting. Чтобы платформа делала резервные копии, ничего планировать не нужно.

Менеджер баз данных, в который вы входите как администратор базы данных, предлагает пункт «Управление» с основными действиями, необходимыми для резервного копирования и тестирования.

  • «Скачать резервную копию» создаёт ZIP-файл базы данных, который можно хранить в собственном архиве.
  • Если кнопка «Скачать резервную копию» неактивна, база данных слишком велика для менеджера, и нужно обратиться в службу поддержки Odoo за другим способом скачивания.
  • «Дублировать» создаёт копию базы данных; параметр «Для тестирования» включён по умолчанию и отключает внешние действия, такие как письма, платежи и заказы на доставку.
  • «Удалить» мгновенно удаляет базу данных для всех пользователей, и это действие нельзя отменить, поэтому сначала скачайте резервную копию.

Согласно документации, копии в Odoo Online удаляются через 15 дней, а у каждой базы данных может быть не более пяти копий. Рассматривайте копии как недолговечные тестовые среды, а не как стратегию резервного копирования.

Odoo.sh: автоматические и ручные резервные копии

В Odoo.sh база данных production автоматически копируется каждый день. В документации указано, что хранятся семь ежедневных, четыре еженедельных и три ежемесячных резервных копии, причём ежемесячные копии находятся на выделенных серверах резервного копирования. Для восстановления или скачивания этих ежемесячных копий нужно обратиться в службу поддержки Odoo.

Ветки staging и разработки автоматически не копируются. Для production и staging можно создавать резервные копии вручную, чтобы зафиксировать конкретное состояние, например перед рискованным изменением конфигурации. Они доступны в течение трёх дней, а в документации упоминается ограничение в пять ручных резервных копий в день. Для баз данных разработки ручные резервные копии создавать нельзя.

Odoo.sh также автоматически создаёт резервную копию с пометкой Update, когда слитый коммит меняет версии модулей или связанные зависимости Python. Если слияние их не меняет, резервная копия не создаётся, поэтому перед значительными изменениями в production делайте резервную копию вручную.

  • Используйте вкладку «Резервные копии» ветки production, чтобы просматривать, скачивать или восстанавливать резервные копии.
  • Восстанавливайте резервную копию production в ветку staging, когда нужно протестировать изменения на реальных данных.
  • С помощью функции «Импорт базы данных» загружайте архивы из стандартного менеджера баз данных, менеджера баз данных Odoo Online, вкладки «Резервные копии» или пункта сборки «Скачать дамп БД».

Собственный сервер: за всё отвечает ваша команда

На собственном сервере ничего не копируется, пока вы это не настроите. Официальное руководство по развёртыванию говорит прямо: настройте ежедневное резервное копирование баз данных и хранилища файлов и копируйте их на удалённый архивный сервер, недоступный с самого сервера Odoo.

То же руководство предупреждает, что веб-менеджер баз данных предназначен для разработки и демонстраций и не рассчитан на рабочее использование. Настоятельно рекомендуется отключать его на любых системах, доступных из интернета, а рабочие операции, такие как автоматическое резервное копирование, должен выполнять системный администратор.

  • Защитите экраны управления базами данных надёжным, случайно сгенерированным мастер-паролем, заданным в конфигурационном файле, и никогда не оставляйте значение по умолчанию.
  • Отключите вывод списка баз данных на серверах, доступных из интернета, и используйте фильтр баз данных, чтобы каждое имя хоста соответствовало нужной базе данных.
  • Запускайте пользователя PostgreSQL для Odoo без прав суперпользователя, как того требует документация по развёртыванию.
  • Копируйте базу данных и хранилище файлов вместе, чтобы они оставались согласованными друг с другом.

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

Безопасное дублирование баз данных: нейтрализация

Тестирование на копии production — самый безопасный способ опробовать новые процессы, импорт или обновления, но неосторожно сделанная копия может отправить клиентам реальные письма или провести реальные платежи. Odoo решает эту задачу с помощью нейтрализованных баз данных, которые документация определяет как нерабочие базы данных, в которых отключён ряд параметров.

Тестовые базы данных всегда нейтрализованы, включая резервные копии, дубликаты, а также базы данных staging и разработки в Odoo.sh. Перечень отключаемого в документации прямо назван неполным и включает следующее.

  • Запланированные действия, например автоматическое выставление счетов по подпискам и массовые рассылки.
  • Исходящую почту, которая в staging Odoo.sh перехватывается перехватчиком почты вместо отправки.
  • Синхронизацию с банком, платёжных провайдеров и способы доставки.
  • Токены IAP и видимость сайта для поисковых систем.

Красный баннер в верхней части экрана отмечает нейтрализованную базу данных, чтобы пользователи сразу видели, что находятся не в рабочей среде. Научите команду проверять наличие этого баннера, прежде чем что-либо вводить, и никогда не снимайте нейтрализацию с копии, если не понимаете полностью последствий.

Срок хранения, внешние копии, RPO и RTO

Резервные копии платформы — надёжная страховка, но грамотная политика предполагает и независимые копии под вашим контролем. Для размещённых баз данных периодически скачивайте полную резервную копию и храните её в отдельном месте с контролем доступа. Для собственных серверов внешние копии не просто желательны, а обязательны.

Два простых показателя помогают определить необходимый уровень защиты. Целевая точка восстановления (Recovery Point Objective, RPO) — это объём последних данных, потерю которых вы можете себе позволить; ежедневное резервное копирование означает, что можно потерять до одного дня работы. Целевое время восстановления (Recovery Time Objective, RTO) — это время, в течение которого бизнес может работать без системы, пока её восстанавливают.

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

Тестирование восстановления и практический контрольный список

Резервная копия подтверждена только тогда, когда её удалось восстановить. Запланируйте регулярные тесты восстановления, восстанавливайте копию в нейтрализованную тестовую среду и проверяйте, что пользователи могут войти, последние записи на месте, а вложения открываются корректно. Замеряйте время процесса, чтобы знать своё реальное RTO.

  • Уточните, какой тип размещения вы используете и кто отвечает за резервное копирование.
  • Убедитесь, что резервные копии включают и дамп базы данных, и хранилище файлов.
  • Храните независимую скачанную копию в отдельном защищённом месте.
  • Делайте резервную копию вручную перед обновлениями, крупным импортом или серьёзными изменениями конфигурации.
  • Используйте для любого тестирования нейтрализованные копии или ветки staging.
  • Регулярно восстанавливайте резервную копию в тестовую среду и фиксируйте результаты.
  • Задокументируйте целевые показатели RPO и RTO и пересматривайте их ежегодно.
  • На собственном сервере отключите публичный менеджер баз данных и защитите мастер-пароль.

Чем может помочь 1CBMS

1CBMS разрабатывает и проверяет процедуры резервного копирования и восстановления для проектов Odoo 19 в Египте и Ираке — в Odoo Online, Odoo.sh и на собственных серверах. Мы можем провести аудит текущей настройки, определить вместе с вашим руководством реалистичные показатели RPO и RTO, настроить нейтрализованные тестовые среды и провести с вашей командой задокументированный тест восстановления, чтобы восстановление было отрепетированной процедурой, а не авралом.

Интеграция Odoo 19 с другими системами: API, вебхуки, коннекторы и промежуточное ПО
Практическое руководство по безопасному и надёжному подключению Odoo 19 Enterprise к платёжным шлюзам, службам доставки, банкам, платформам электронной коммерции и внутренним системам