You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Инструкция по использованию утилиты 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

Рекомендуемый порядок работы

  1. Подготовить каталог для журналов
    Пример:
    New-Item -ItemType Directory -Path 'C:\temp\ProjectArchive' -Force
  2. Выполнить пробный запуск
    Сначала обязательно выполните запуск в режиме 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, ошибок прав доступа и неожиданных предупреждений.

  3. Выполнить рабочий проход
    После проверки 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 при новом запуске очищается в начале работы, поэтому для сохранения истории лучше задавать отдельный файл журнала при каждом запуске.
  • No labels