2020-10 upd: we reached the first fundraising goal and rented a server in Hetzner for development! Thank you for donating !
Внимание! Данные страницы описывают CBSD версии 13.0.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.
Обратите внимание! Данные команды поддерживают маску (wildcard) в качестве jname, например: jname='*', jname='ja*l*'
Запуск команд в jail
Команда jexec
% cbsd jexec
Описание:
Вы можете запустить из мастер-окружение команду на выполнение в контейнере через команду jexec
Обязательный параметр - это имя контейнера, через jname=, все что идет после - является непосредственно командой и аргументами, которая будет запущена в контейнере
Вы можете запустить на выполнение команду в одном контейнере или одновременно в нескольких. Для этого, используйте в jname= аргументе маску имен контейнеров, в которых будет выполнятся команда.
Например, маска вида jname='test*jail' выполнит команду в контейнерах с таким именем, как test1jail, test2jail и тд. Если вы хотите запустить команду сразу во всех контейнерах данной ноды, используйте jname='*'
Будьте осторожны, запуская долгие команды или действия, которые могут приводить к интерактивным диалогам. Вы можете получить вывод последних записей активных лог-файлов через посылку SIGINFO команды через нажатие Ctrl+'t' клавиш - эта функциональность позволит вам посмотреть и понять, на какой стадии находится выполнение команды в том или ином контейнере
Результат отработки вы увидете на stdout, в то время, как вспомогательные сообщения - на stderr, соотв., если сообщения CBSD вам мешают, используйте перенаправление stderr в /dev/null
Пример:
% cbsd jexec jname='jail*' pkg update -f % cbsd jexec jname='*' pkg update -y % cbsd jexec jname='*' pkg clean -ya
Multiple command execution: