file

Управление файлами в репозиториях сервера

Подсказка

Файлы из репозиториев доступны на странице «Файлы» в веб-интерфейсе

Зачем нужна

Команда работает с файловыми репозиториями сервера из CLI: показывает список зарегистрированных файлов, регистрирует новые без копирования через веб-интерфейс и чистит «битые» записи и временные файлы. В отличие от загрузки через веб, форма file add принимает уже лежащий на диске файл и просто добавляет запись в базу — это удобно для крупных артефактов и серверной автоматизации

Типичные случаи применения:

  • регистрация большого установочного пакета (несколько ГБ), который проще положить на сервер по SCP, чем загружать через браузер

  • автоматизация: скрипт сборки артефактов копирует файл на сервер и одной командой регистрирует его в репозитории RuDesktop

  • регулярная очистка file cleanup через cron — удаление записей о файлах, которые были вручную удалены с диска, и подчистка временного каталога

  • инвентаризация содержимого репозитория file list — просмотр id и путей всех зарегистрированных файлов

Синтаксис

rude file list
rude file add [путь_до_файла]
rude file cleanup [--quiet]

Параметры

Параметр

Описание

list

Вывести список зарегистрированных файлов с их ID

оригинальным именем и путём

add [путь_до_файла]

Зарегистрировать существующий файл сервера в репозитории (без перемещения файла)

cleanup

Удалить «битые» записи (файлов нет на диске) и очистить временный каталог от старых файлов

--quiet

Не выводить служебные сообщения в консоль (используется только с cleanup)

Пример

Получение списка всех файлов

Чтобы получить список всех файлов, введите следующее:

rude file list

После выполнения команды в выводе отобразится список файлов:

ID  Имя файла    Путь до файла
1   [имя_файла]  /var/lib/rudesktop/media/files/[Дата]/[имя_файла]
2   [имя_файла]  /var/lib/rudesktop/media/files/[Дата]/[имя_файла]

Добавление файла

Чтобы добавить файл из файловой системы сервера в репозиторий, введите следующее:

rude file add [путь_до_файла]

Команда регистрирует файл в БД (создаёт запись upload.File) — оригинальный файл при этом не перемещается. Если по указанному пути файла нет или он недоступен на чтение, команда завершится ошибкой File ... is not readable

Очистка неиспользуемых файлов

Чтобы удалить устаревшие файлы, введите следующее:

rude file cleanup

Команда выполняет две операции:

  1. Проходит по всем записям в БД и удаляет те, для которых файла на диске больше не существует (запись считается «битой»)

  2. Очищает временный каталог MEDIA_TMP_DIR от файлов старше MAX_TEMP_FILE_AGE секунд и удаляет опустевшие подкаталоги

Чтобы запустить очистку без вывода в консоль, добавьте флаг --quiet:

rude file cleanup --quiet