Clickhouse-disks
Утилита, предоставляющая файловые операции, подобные операциям с файловой системой, для дисков ClickHouse. Она может работать как в интерактивном, так и в неинтерактивном режимах.
Опции программы
--config-file, -C-- путь к конфигурации ClickHouse, по умолчанию/etc/clickhouse-server/config.xml.--save-logs-- Логировать процесс вызванных команд в/var/log/clickhouse-server/clickhouse-disks.log.--log-level-- Какой тип событий логировать, по умолчаниюnone.--disk-- какой диск использовать для командmkdir, move, read, write, remove. По умолчанию используетсяdefault.--query, -q-- один запрос, который может быть выполнен без запуска интерактивного режима.--help, -h-- вывести все опции и команды с описанием.
Ленивое инициализация
Все диски, доступные в конфигурации, инициализируются лениво. Это означает, что соответствующий объект для диска инициализируется только тогда, когда соответствующий диск используется в какой-либо команде. Это сделано для повышения надежности утилиты и для избежания взаимодействия с дисками, которые описаны в конфигурации, но не используются пользователем и могут вызвать сбой при инициализации. Однако должен быть диск, который инициализируется при запуске clickhouse-disks. Этот диск указывается с помощью параметра --disk через командную строку (значение по умолчанию — default).
Дефолтные диски
После запуска есть два диска, которые не указаны в конфигурации, но доступны для инициализации.
-
localдиск: Этот диск предназначен для имитации локальной файловой системы, из которой была запущена утилитаclickhouse-disks. Его начальный путь — это директория, из которой был запущенclickhouse-disks, и он смонтирован в корневой директории файловой системы. -
defaultдиск: Этот диск смонтирован в локальной файловой системе в директории, указанной параметромclickhouse/pathв конфигурации (значение по умолчанию —/var/lib/clickhouse). Его начальный путь установлен на/.
Состояние Clickhouse-disks
Для каждого добавленного диска утилита хранит текущую директорию (как в обычной файловой системе). Пользователь может менять текущую директорию и переключаться между дисками.
Состояние отображается в приглашении "disk_name:path_name".
Команды
В этом файле документации все обязательные позиционные аргументы обозначаются как <parameter>, именованные аргументы обозначаются как [--parameter value]. Все позиционные параметры могут быть указаны как именованный параметр с соответствующим именем.
cd (change-dir, change_dir) [--disk disk] <path>Сменить директорию на путьpathна дискеdisk(значение по умолчанию — текущий диск). Переключение дисков не происходит.copy (cp) [--disk-from disk_1] [--disk-to disk_2] <path-from> <path-to>. Рекурсивно копировать данные изpath-fromна дискеdisk_1(значение по умолчанию — текущий диск (параметрdiskв неинтерактивном режиме)) вpath-toна дискеdisk_2(значение по умолчанию — текущий диск (параметрdiskв неинтерактивном режиме)).current_disk_with_path (current, current_disk, current_path)Печатает текущее состояние в формате:Disk: "current_disk" Path: "текущий путь на текущем диске".help [<command>]Печатает сообщение помощи о командеcommand. Еслиcommandне указан, печатает информацию о всех командах.move (mv) <path-from> <path-to>. Переместить файл или директорию изpath-fromвpath-toв пределах текущего диска.remove (rm, delete) <path>. Удалитьpathрекурсивно на текущем диске.link (ln) <path-from> <path-to>. Создать жесткую ссылку изpath-fromвpath-toна текущем диске.list (ls) [--recursive] <path>Перечислить файлы по путямpathна текущем диске. По умолчанию не рекурсивно.list-disks (list_disks, ls-disks, ls_disks). Перечислить названия дисков.mkdir [--recursive] <path>на текущем диске. Создать директорию. По умолчанию не рекурсивно.read (r) <path-from> [--path-to path]Прочитать файл изpath-fromвpath(stdout, если не указано).switch-disk [--path path] <disk>Переключиться на дискdiskпо путиpath(еслиpathне указан, то значение по умолчанию — предыдущий путь на дискеdisk).write (w) [--path-from path] <path-to>. Записать файл изpath(stdin, еслиpathне указан, ввод должен завершаться Ctrl+D) вpath-to.