Revit Server: резервное копирование файлов и обновление кэша
Revit Server — несомненно полезный инструмент для совместной работы, но он имеет некоторые ограничения и проблемы, которые требуют особого внимания и подхода.
- Первая проблема: как делать резервное копирование моделей, находящихся в Revit Server?
- Вторая проблема: почему при доступе к моделям через Accelerator они иногда открываются быстро, а иногда крайне медленно?
Ответы на эти вопросы взаимосвязаны. Начнем с рассмотрения способов резервного копирования.
Метод 1: резервное копирование папки Projects на сервере
Как вы могли заметить, в графическом интерфейсе нет функционала для резервного копирования моделей. Рассматриваемый далее метод создания бекапов наиболее прост, но у него есть несколько серьезных ограничений.
На сервере модели хранятся в каталоге Projects. По умолчанию эта папка находится по следующему пути «C:\ProgramData\Autodesk\Revit Server 2021\Projects» (где «2021» – это версия Revit Server).
Однако, существуют некоторые сложности. Основная проблема заключается в том, что папка Projects на самом деле не содержит стандартные файлы Revit. Вместо этого она разбивает один файл на множество, в нескольких подпапках. Если вы попробуете открыть файл *.RVT, содержащийся в папке Projects, он может не открыться вовсе.
Еще одна проблема в том, что модели должны быть заблокированы перед выполнением резервного копирования, иначе при восстановлении файлов могут возникнуть проблемы. Если вы выполняете резервное копирование вне рабочего времени, вам нужно будет заблокировать модели с помощью скрипта. К счастью, Revit Server имеет инструменты командной строки для этой задачи. По умолчанию они находятся по пути: «C:\Program Files\Autodesk\Revit Server 2021\Tools\RevitServerCommand».
Вот один из возможных вариантов сценария резервного копирования:
"C:\Program Files\Autodesk\Revit Server 2015\Tools\RevitServerCommand" lock -s RevitServerName
robocopy "C:\ProgramData\Autodesk\Revit Server 2015\Projects" "C:\RevitServerBackupDirectory" -r:0 -w:0 /z /mir/log:c:\LogFiles\RevitServerBackup.log
"C:\Program Files\Autodesk\Revit Server 2015\Tools\RevitServerCommand" unlock -s RevitServerName
Самая неприятная проблема этого метода резервирования заключается в том, что для восстановления моделей таким образом необходимо восстановить всю папку Projects на работающем Revit Server. Без правильных файлов Model Location Table, Revit Server не распознает модель(и).
Очевидно, что такой тип резервного копирования имеет множество ограничений. Он работает только на хост-сервере, и не идеально делать снимки модели в процессе работы. Поэтому рассмотрим метод 2.
Метод 2: Сценарии создания локальных файлов
К счастью, Autodesk добавила несколько инструментов, которые полезны для резервного копирования, а также для обновления кэша на Accelerator-е.
По умолчанию эти инструменты находятся по адресу: «C:\Program Files\Autodesk\Revit Server 2021\Tools\RevitServerToolCommand»
Использование:
RevitServerTool createLocalRVT <model path> -s|-server <server name> [-a|-accelerator <accelerator name>] [-d|-destination <path>] [-o|-overwrite]
Тут «model path» указывает на путь в Revit Server, а не на путь к папке. Например, в приведенном ниже примере используется путь «TEST»:
Поле «Server» указывает имя хоста; это обязательно. Если вы запускаете скрипт на Accelerator-е, используйте ключ «-a», чтобы указать имя Accelerator-а. Ключ «-a» следует опустить при запуске скрипта на хосте.
Место назначения может использовать абсолютные, относительные и UNC-пути. Ключ «-o» перезапишет существующий файл.
Важно отметить, что каждая модель на Revit Server требует своей записи. Вот пример скрипта, который резервирует две модели на Accelerator-е.
Также важно отметить, что при сценарии процесса необходимо использовать ключ -o
(overwrite). В противном случае скрипт не создаст новый файл.
Второй метод имеет множество преимуществ по сравнению с резервным копированием каталога Projects:
- Этот метод можно использовать на любом сервере Revit, включая хост и все Accelerator-ы, что обеспечивает несколько физических мест для хранения.
- Если вы работаете с третьей стороной, способ позволяет каждому иметь свою копию файлов.
- Созданные файлы являются фактическими файлами Revit, которые можно нормально открыть в Revit.
- Полученные файлы без каких-либо проблем могут быть использованы в качестве снимков, если ваше программное обеспечение для резервного копирования поддерживает версионность.
- При запуске скрипта на Accelerator-е обновляется кэш.
Как уже упоминалось ранее, в некоторых случаях открытие модели с Accelerator-а может занять много времени. Это сделано намеренно: Accelerator запрограммирован на очистку кэша, чтобы минимизировать нагрузку на службу AutoSync Revit Server, так как это означает меньшее количество моделей, которые нужно поддерживать в актуальном состоянии.
Таким образом, второй способ гораздо предпочтительнее первого, особенно если модели на Accelerator-е используются редко и периодически очищаются из кэша.