Репликация InfraVision
Репликация базы данных
InfraVision использует базу данных PostgreSQL, поэтому здесь применяются общие лучшие практики PostgreSQL. База данных может быть записана в файл и восстановлена с помощью утилит pg_dump и psql соответственно.
Примечание
Примеры ниже предполагают, что ваша база данных называется netbox.
Экспорт базы данных
Используйте утилиту pg_dump для экспорта всей базы данных в файл:
pg_dump --username netbox --password --host localhost netbox > netbox.sql
Примечание
Вам может потребоваться изменить имя пользователя, хост и/или базу данных в команде выше в соответствии с вашей установкой.
При репликации производственной базы данных для целей разработки может быть удобно исключить данные журнала изменений, которые могут легко составлять основную часть размера базы данных. Для этого исключите данные таблицы core_objectchange из экспорта. Таблица всё равно будет включена в выходной файл, но не будет заполнена данными.
pg_dump ... --exclude-table-data=core_objectchange netbox > netbox.sql
Загрузка экспортированной базы данных
При восстановлении базы данных из файла рекомендуется сначала удалить существующую базу данных, чтобы избежать потенциальных конфликтов.
Внимание
Следующее уничтожит и заменит любой существующий экземпляр базы данных.
psql -c 'drop database netbox'
psql -c 'create database netbox'
psql netbox < netbox.sql
Имейте в виду, что учётные записи пользователей PostgreSQL и разрешения не включаются в дамп: вам нужно будет создать их вручную, если вы хотите полностью реплицировать исходную базу данных (см. документацию по установке). При настройке экземпляра InfraVision для разработки настоятельно рекомендуется использовать другие учётные данные.
Экспорт схемы базы данных
Если вы хотите экспортировать только схему базы данных, а не сами данные (например, для справки при разработке), выполните следующее:
pg_dump --username netbox --password --host localhost -s netbox > netbox_schema.sql
Репликация загруженных медиафайлов
По умолчанию InfraVision хранит загруженные файлы (такие как вложенные изображения) в своём каталоге media. Для полной репликации экземпляра InfraVision вам нужно скопировать как базу данных, так и медиафайлы.
Примечание
Эти операции не нужны, если ваша установка использует удалённый бэкенд хранения.
Архивация каталога media
Выполните следующую команду из корня пути установки InfraVision (обычно /opt/netbox):
tar -czf netbox_media.tar.gz netbox/media/
Восстановление каталога media
Чтобы извлечь сохранённый архив в новую установку, выполните следующее из корня установки:
tar -xf netbox_media.tar.gz