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: "current path on current disk"
- 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.
