Приложение П. Системный сервис ccnexec
Использование:
Данный сервис позволяет выполнять команды Cocon из shell, не подключаясь к нему, для этого используется следующий формат:
ccnexec -u <User> [-p <Pass>] [<Host>:[<Port>]] [-o <OutputFile>] [-f <Filename> | -c Command [Arg1 Arg2 ...]]
где
- login - логин для подключения к Cocon;
- password - пароль для подключения к Cocon;
- port - порт для подключения к Cocon;
- OutputFile - файл для вывода;
- Filename - чтение команд из файла;
- Command - команда передаваемая в Cocon.
Для того, чтобы вручную не вводить пароль, можно сохранить куки:
ccnexec -u <User> [-p <Pass>] -S <CookieFile> [<Host>:[<Port>]] ccnexec -u <User> [-p <Pass>] -s [<Host>:[<Port>]]
Ввод команд с использованием cookie(не забудьте установить -rw - - - - - - - разрешения для вашего файла cookie):
ccnexec -k [<Host>:[<Port>]] [-o <OutputFile>] [-f <Filename> | -c Command [Arg1 Arg2 ...]] ccnexec -K <CookieFile> [<Host>:[<Port>]] [-o <OutputFile>] [-f <Filename> | -c Command [Arg1 Arg2 ...]]
Параметры:
-u <User> - пользователь CoCon
-p <Pass> - пароль пользователя
-k - использовать куки (по умолчанию - <HomeDir>/.ccn_cookie)
-K <Cookie> - путь + имя файла Cookie
-o <File> - файл для записи вывода
-f <File> - файл, откуда читать список команд (это не одно и то же, как cat <File> | ./ccnexec)
-c <Cmd> [<Args>] - выполнить одну команду, должен быть в конце, т.к. команды args разделены пробелами
-s - сгенерировать новый файл куки и сохранить его в <HomeDir>/.ccn_cookie
-S <Cookie> -сгенерировать новый файл куки и сохранить его в <Cookie>
Дополнительные параметры:
-A - остановить выполнение при ошибке;
-P - читать пароль из файла (если включена опция -f)
-i - интерактивное выполнение (не работает с опцией -с)
Примеры:
Создать куки:
sasha@ecss1:~/ssw1_3.14$ ccnexec -u admin -p password -s 192.168.1.21 Cookie is saved to /home/sasha/.ccn_cookie
Выполнение простой команды:
sasha@ecss1:~/ssw1_3.14$ ccnexec -k -c system-status Checking... ┌─┬───────────────┬────────────────────────┬───────────────┬─────────────┬──────────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes │ Uptime │ ├─┼───────────────┼────────────────────────┼───────────────┼─────────────┼──────────┤ │ │core1@ecss1 │ecss-core-3.14.3.20 │core1@ecss1 │not running │1d 19h 31m│ │ │ds1@ecss1 │ecss-ds-3.14.3.20 │ds1@ecss1 │ds1@ecss1 │1d 19h 31m│ │ │md1@ecss1 │ecss-mediator-3.14.3.20 │md1@ecss1 │md1@ecss1 │1d 19h 30m│ │ │megaco1@ecss1 │ecss-pa-megaco-3.14.3.20│megaco1@ecss1 │megaco1@ecss1│1d 19h 30m│ │ │mycelium1@ecss1│ecss-mycelium-3.14.3.20 │mycelium1@ecss1│not running │1d 19h 31m│ │ │sip1@ecss1 │ecss-pa-sip-3.14.3.20 │sip1@ecss1 │sip1@ecss1 │1d 19h 30m│ └─┴───────────────┴────────────────────────┴───────────────┴─────────────┴──────────┘ All services are started. Active media resource selected list specific: ┌─────────────┬───────┬───────────┬───────────┬────────────┐ │ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │ │ │ │ version │ │ │ ├─────────────┼───────┼───────────┼───────────┼────────────┤ │ core1@ecss1 │ msr_1 │ 3.14.3.11 │ connected │ 1 19:28:20 │ │ │ msr_2 │ 3.14.3.11 │ connected │ 1 17:48:39 │ └─────────────┴───────┴───────────┴───────────┴────────────┘ Alarms list on md1: ┌──────┬──────┬──────┬────────┬────────┬────────┬──────────────────────┐ │ Date │Severi│Locati│ Cause │ Class │Instance│ Message │ │ │ ty │ on │ │ │ │ │ ├──────┼──────┼──────┼────────┼────────┼────────┼──────────────────────┤ │10.11 │critic│core1@│software│ecss::sy│core1@ec│Error log data updated│ │00:00:│al │ecss1 │Error │stem::lo│ss1 │ │ │00 │ │ │ │g │ │ │ └──────┴──────┴──────┴────────┴────────┴────────┴──────────────────────┘ Selected: 1 Total: 1
Установка лицензии с помощью ccnexec - скрипт bash:
Создание домена:
Создание абонентов(пароли вымышленные):