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 |
Не выводить служебные сообщения в консоль (используется только с |
Пример¶
Получение списка всех файлов¶
Чтобы получить список всех файлов, введите следующее:
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
Команда выполняет две операции:
Проходит по всем записям в БД и удаляет те, для которых файла на диске больше не существует (запись считается «битой»)
Очищает временный каталог
MEDIA_TMP_DIRот файлов старшеMAX_TEMP_FILE_AGEсекунд и удаляет опустевшие подкаталоги
Чтобы запустить очистку без вывода в консоль, добавьте флаг --quiet:
rude file cleanup --quiet