Перейти к основному содержанию Перейти к навигации Перейти к нижнему колонтитулу

Шпаргалка по CLI RDC

Краткая справка по rdc: конфиги, репозитории, машины, синхронизация файлов и контейнеры. Полный набор опций: добавьте --help к любой команде.

Шпаргалка по CLI RDC

Здесь приведены не все команды rdc, а только те, которые встречаются при каждом развертывании. Для полного набора опций запустите любую команду rdc с флагом --help. Граничные случаи и редко используемые опции описаны в полной справке.

Жизненный цикл репозитория

КомандаОписание
rdc repo create <repo> -m <machine>Создать новый репозиторий на машине
rdc repo up <repo>@<machine>Развернуть или обновить репозиторий
rdc repo down <repo>@<machine>Остановить репозиторий
rdc repo delete <repo>@<machine>Удалить репозиторий
rdc repo fork <repo>@<machine> --tag <tag>Создать форк репозитория (мгновенно, BTRFS reflink)
rdc repo promote <repo>:<tag>Повысить проверенный форк до продакшена под именем родительского репозитория
rdc repo listСписок всех репозиториев с именем и GUID
rdc repo resize <repo> --size <size>Изменить размер тома остановленного репозитория
rdc repo expand <repo> --size <size>Увеличить том работающего репозитория на месте

Секреты репозитория

Учетные данные с доступом только на запись при развертывании. get возвращает только дайджест. Значение никогда не возвращается. Полное руководство см. в разделе Repositories § Secrets.

КомандаОписание
rdc repo secret set <repo> --key <KEY> --value <val> [--mode env|file] --current ""Создать новый секрет (--current "" при первой записи)
rdc repo secret set <repo> --key <KEY> --value <val> --current <prev>Перезаписать существующий секрет (проверка как при смене пароля)
rdc repo secret set <repo> --key <KEY> --value <val> --rotate-secretПерезаписать без проверки предыдущего значения (учитывается как ротация)
rdc repo secret list <repo>Список имен секретов и режимов доставки (значения и дайджесты не показываются)
rdc repo secret get <repo> --key <KEY>Показать дайджест секрета и режим (открытые значения никогда не выводятся)
rdc repo secret unset <repo> --key <KEY> --current <prev>Удалить секрет
rdc repo secret unset <repo> --key <KEY> --rotate-secretУдалить без проверки предыдущего значения

Форки не наследуют секреты. Установите их на форке явно с помощью rdc repo secret set <repo>:<tag>.

Резервная копия и восстановление

КомандаОписание
rdc repo push ... --bwlimit <limit>Ограничить пропускную способность rsync при отправке (например 10M)
rdc repo pull ... --bwlimit <limit>Ограничить пропускную способность rsync при получении
rdc repo push ... --checkpointСоздать контрольную точку контейнеров перед отправкой
rdc backup manifests <repo-ref>Список снимков, хранящихся в чанковом хранилище
rdc backup browse <repo-ref>Список файлов, содержащихся в репозитории (локально, только для чтения)
rdc backup snapshot <repo>Загрузить снимок в чанковое хранилище: сначала полный инвентарь, затем только измененные ячейки
rdc backup snapshot <repo> --dry-runСпланировать снимок без загрузки; сообщает, что переместилось бы
rdc backup verify <repo>Проверить якорь резервной копии репозитория по чанковому хранилищу
rdc backup usageПоказать байты, хранящиеся в чанковом хранилище, относительно вашей квоты
rdc backup manifests <repo>Список манифестов снимков, зарегистрированных на сервере
rdc storage browse <storage>Просмотреть содержимое хранилища

Миграция репозитория

КомандаОписание
rdc repo migrate <repo>@<machine> --to <machine>Переместить репозиторий между машинами
rdc repo migrate ... --provisionПодготовить целевую машину перед передачей
rdc repo migrate ... --checkpointСоздать контрольную точку перед миграцией
rdc repo migrate ... --skip-dnsПропустить обновление DNS после миграции
rdc repo migrate ... --bwlimit <limit>Ограничить пропускную способность передачи

Стратегии резервного копирования

КомандаОписание
rdc backup strategy set <name> --destination <storage> --cron <expr> --mode <hot|cold> --enableСоздать или обновить именованную стратегию резервного копирования
rdc backup strategy listСписок всех определенных стратегий резервного копирования
rdc backup strategy show <name>Показать детали стратегии
rdc backup strategy remove <name>Удалить стратегию
rdc backup schedule -m <machine>Развернуть настроенные стратегии на машине

Операции резервного копирования

КомандаОписание
rdc backup schedule -m <machine>Развернуть привязанные стратегии как systemd таймеры
rdc backup schedule -m <machine> --dry-runПросмотреть модули таймеров без развертывания (токены скрыты)
rdc backup run -m <machine>Запустить все привязанные стратегии сразу же
rdc backup run <name> -m <machine>Запустить конкретную стратегию немедленно
rdc backup status -m <machine>Показать статус таймера и результаты последних работ
rdc backup status <name> -m <machine>Показать статус для конкретной стратегии
rdc backup cancel -m <machine>Отменить выполняющиеся резервные копии
rdc backup cancel <name> -m <machine>Отменить конкретную выполняющуюся резервную копию

Управление машинами

КомандаОписание
rdc machine status <machine>Полный статус машины (система, контейнеры, сервисы, репозитории, сеть)
rdc machine status <machine> --systemТолько информация о системе
rdc machine status <machine> --containersТолько список контейнеров
rdc machine status <machine> --repositoriesТолько список репозиториев
rdc machine status <machine> --servicesТолько список сервисов
rdc machine status <machine> --networkТолько сетевая информация
rdc machine status <machine> --block-devicesТолько информация о блочных устройствах
rdc machine listВывести список всех машин в конфигурации
rdc machine setup <machine>Запустить первоначальное развертывание машины
rdc machine health <machine>Проверить состояние машины
rdc machine scan-keys <machine>Обновить SSH-ключи хоста после пересборки
rdc machine prune <machine>Удалить неиспользуемые ресурсы с машины
rdc machine deprovision <machine>Полностью депровизионировать машину

Терминал и синхронизация

КомандаОписание
rdc term connect <machine>Открыть SSH-терминал к машине
rdc term connect <repo>@<machine>Открыть SSH-терминал к репозиторию (устанавливает DOCKER_HOST)
rdc term connect <machine> -c "<command>"Выполнить команду на машине
rdc repo sync upload <repo>@<machine> --local <paths...>Загрузить один или несколько локальных файлов или каталогов в репозиторий
rdc repo sync upload <repo>@<machine> --local <file> --remote-file <path>Загрузить один локальный файл на явно указанный путь в репозитории
rdc repo sync download <repo>@<machine> --local <dir>Скачать каталог репозитория локально
rdc repo sync download <repo>@<machine> --remote-file <path> --local <dir>Скачать один файл из репозитория в локальный каталог
rdc vscode connect <repo>@<machine>Открыть сеанс VS Code Remote SSH
rdc vscode listСписок SSH-конфигураций, созданных vscode connect
rdc vscode cleanup --allУдалить все SSH-конфигурации, записанные vscode connect
rdc repo tunnel <repo> -c <container> --port <port>Перенаправить порт контейнера через SSH

Конфигурация

КомандаОписание
rdc config init <name>Создать именованный файл конфигурации
rdc config listВывести список всех конфигураций на этой машине
rdc config set machine <alias>Направить алиас на другую машину
rdc machine add <machine> --ip <host> --user <user>Добавить машину в конфигурацию
rdc storage import rclone.confИмпортировать провайдеров хранилища из конфигурации rclone
rdc storage listВывести список настроенных провайдеров хранилища
rdc backup strategy set ...Определить именованную стратегию резервного копирования
rdc --config <name> <command>Использовать именованный файл конфигурации

Отладка и прямой доступ

КомандаОписание
rdc repo logs <repo>@<machine> -c <container> --lines 200 --followТранслировать журналы контейнера (рекомендуется)
rdc repo exec <repo>@<machine> -c <container> -- <command>Выполнить команду в контейнере (рекомендуется)
rdc repo exec <repo>@<machine> -c <container> -i -- bashОткрыть интерактивную оболочку контейнера
rdc term connect <repo>@<machine> -c "docker ps"Вывести список контейнеров в репозитории
rdc term connect <repo>@<machine> -c "docker logs <name>"Получить журналы контейнера
rdc term connect <repo>@<machine> -c "docker exec <name> <cmd>"Выполнить команду в контейнере
rdc term connect <repo>@<machine> -c "docker restart <name>"Перезапустить контейнер