Инструкция по использованию утилиты archive_project_tool.ps1
Утилита archive_project_tool.ps1 используется как скрипт очистки в проектах данных Vitro-CAD, перенесенных в автономный архив.
Описание работы скрипта
Скрипт выполняет следующие действия:
- подключается к указанному веб-приложению Vitro-CAD;
- находит проекты со статусом архива;
- удаляет найденные связи элементов проекта;
- удаляет оставшиеся элементы проекта и корневую фиксацию проекта из Vitro-CAD.
Выгрузка проектов для архивного хранения данных скриптом неэффективна. Сохранение архива должно быть завершено штатными средствами клиента до запуска очистки.
Перед запуском
Перед запуском оператор должен убедиться:
- Веб-приложение доступно по URL Vitro-CAD;
- учетная запись имеет право на просмотр и удаление проектов;
- архивные проекты уже выгружены штатными средствами клиента;
- статус архива назначен только тем проектам, которые действительно разрешено удалить;
- на сервере или рабочей станции есть PowerShell и curl.exe;
- существует доступ к записи в каталоге, куда будет сохранена запись.
Параметры скрипта
Скрипт поддерживает следующие параметры:
URL веб-приложения, по умолчанию http://localhost
-WebApplication
логин пользователя, по умолчанию admin
-UserName
пароль пользователя, по умолчанию admin
-Password
служебный каталог, который создает скрипт при запуске; фактическая выгрузка файлов в него сейчас не дает результата
-TargetArchiveDir
путь к лог-файлу
-LogPath
уровень логирования: DEBUG, INFO, WARN, ERROR
-LogLevel
пробный запуск без удаления данных
-DryRun
список типов контента для файлов; в текущем режиме параметр очистки практически не используется
-FileContentTypeIds
Рекомендуемый порядок работы
- Подготовить каталог для журналов
Пример:New-Item -ItemType Directory -Path 'C:\temp\ProjectArchive' -Force
- Выполнить пробный запуск
Сначала обязательно выполните запуск в режиме DryRun. Пример: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. Пример: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при новом запуске очищается в начале работы, поэтому для сохранения истории лучше задавать отдельный файл журнала при каждом запуске.