Инструкция по использованию утилиты archive_project_tool.ps1
Утилита archive_project_tool.ps1 используется как скрипт очистки в проектах данных Vitro-CAD, перенесенных в автономный архив.
Описание работы скрипта
Скрипт выполняет следующие действия:
- подключается к указанному веб-приложению Vitro-CAD;
- находит проекты со статусом архива;
- удаляет найденные связи элементов проекта;
- удаляет оставшиеся элементы проекта и корневую фиксацию проекта из Vitro-CAD.
Выгрузка проектов для архивного хранения данных скриптом неэффективна. Сохранение архива должно быть завершено проектов должна быть завершена штатными средствами клиента до запуска очистки.
...
Перед запуском
Перед запуском оператор должен убедиться:
- Веб-приложение доступно по URL Vitro-CAD;
- учетная запись имеет право на просмотр и удаление проектов;
- архивные проекты уже выгружены штатными средствами клиента;
- статус архива назначен только тем проектам, которые действительно разрешено удалить;
- на сервере или рабочей станции есть PowerShell и curl.exe;
- существует доступ к записи в каталоге, куда будет сохранена запись.
...
Параметры скрипта
Скрипт поддерживает следующие параметры:
...
| Code Block |
|---|
-FileContentTypeIds |
...
Рекомендуемый порядок работы
- Подготовить каталог для журналов
Пример:Code Block New-Item -ItemType Directory -Path 'C:\temp\ProjectArchive' -Force
- Выполнить пробный запуск
Сначала обязательно выполните запуск в режиме DryRun. Пример:Code Block powershell.exe -ExecutionPolicy Bypass -File "C:\Path\archive_project_tool.ps1" ` -WebApplication "http://vitro.example.com" ` -UserName "admin" ` -Password "admin" ` -TargetArchiveDir "C:\temp\ProjectArchive" ` -LogPath "C:\temp\ProjectArchive\archive.log" ` -LogLevel "DEBUG" ` -DryRun
После запуска DryRun можно проверить что:
- авторизация прошла успешно;
- в журнале найдены проекты со статусом архива;
- список проектов соответствует ожидаемому объему очистки;
- в логе нет ошибок API, ошибок прав доступа и неожиданных предупреждений.
- Выполнить рабочий проход
После проверки DryRun запустите запуск без параметров -DryRun. Пример:Code Block powershell.exe -ExecutionPolicy Bypass -File "C:\Path\archive_project_tool.ps1" ` -WebApplication "http://vitro.example.com" ` -UserName "admin" ` -Password "admin" ` -TargetArchiveDir "C:\temp\ProjectArchive" ` -LogPath "C:\temp\ProjectArchive\archive.log" ` -LogLevel "INFO"
...
Контроль хода процесса по записям в журнале
Основной лог-файл задается параметром -LogPath.
...
- есть запись об успешной авторизации;
- найдено ожидаемое число архивных проектов;
- для каждого проекта есть запись Очистка связей проекта ...;
- для каждого проекта есть запись Удаление проекта ... из Vitro-CAD;
- в конце есть запись Процесс архивирования завершен.
Признаки проблем:
- Не удалось авторизоваться в системе
- Ошибка при выполнении HTTP запроса
- Ошибка при удалении элементов
- Не удалось удалить элемент
- Не удалось удалить корневую папку проекта
...
Ограничения и меры предосторожности
- Скрипт удаляет данные из Vitro-CAD, поэтому первый запуск всегда должен выполняться только с
-DryRun. - Используйте запуск скрипта только после подтверждения со стороны ответственного администратора или владельца данных.
- Перед боевым запуском желательно вручную проверить несколько проектов на площадке пользовательского интерфейса и убедиться, что статус архива назначен правильно.
- Если в логе есть ошибка удаления или ошибка API, результат проверки должен считаться частично успешным до дополнительной проверки.
- Один и тот же
LogPathпри новом запуске очищается в начале работы, поэтому для сохранения истории лучше задавать отдельный файл журнала при каждом запуске.