Специальные команды используются в Ansible для мгновенного выполнения задач, и вам не нужно сохранять их для дальнейшего использования. Эта статья о Ansible Ad-hoc Command.
В Ansible есть несколько задач, для которых вам не нужно писать отдельную пьесу Ansible; Вы можете просто выполнить команду ansible ad-hoc для этой задачи. Это однострочная команда для выполнения одной задачи на целевом хосте. Эти команды присутствуют в / usr / bin / ansible
Такие задачи, как пинг всех хостов, чтобы проверить, работают ли они, копирование файла, перезагрузка серверов, установка пакета, могут быть легко выполнены с помощью Ansible Ad-hoc Commands. Вот список основных Ansible Ad-hoc команд, которые вы должны знать.
Contents
Основные команды
Специальная команда ниже запускает модуль ping на всех хостах в файле инвентаря. Здесь -m опция для модуля.
[Электронная почта защищена]: / home / geekflare # ansible all -m ping
узел1 | УСПЕХ => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": ложный,
"пинг": "понг"
}
Упомянутая ниже команда запускает модуль установки для группы хостов – Клиент присутствует в файле инвентаризации etc / etc / ansible / hosts ’.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m setup -a "фильтр = ansible_distribution *"
узел1 | УСПЕХ => {
"ansible_facts": {
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": правда,
"ansible_distribution_file_path": "/ И т.д. / OS-релиз",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "18",
"ansible_distribution_release": "космический",
"ansible_distribution_version": "18,10",
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": ложный
}
Команда ниже используется для запроса аутентификации пароля SSH. Вам необходимо добавить опцию –ask-pass в конце команды. После запуска команды она попросит вас ввести пароль SSH.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m ping –ask-pass
Пароль SSH:
узел1 | УСПЕХ => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": ложный,
"пинг": "понг"
}
Команда ниже дает вам возможность запускать специальные команды от имени пользователя без полномочий root с привилегиями root. Опция –become дает права суперпользователя, а опция -K запрашивает пароль.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m shell -a ‘fdisk -l’ -u geekflare –become -K
СТАТЬ пароль
узел1 | ИЗМЕНЕНО | RC = 0 >>
Диск / dev / loop0: 14,5 МБ, 15208448 байт, 29704 сектора
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск / dev / loop2: 42,1 МБ, 44183552 байта, 86296 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск / dev / loop3: 149,9 МБ, 157184000 байт, 307000 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск / dev / loop5: 140,7 МБ, 147501056 байт, 288088 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск / dev / loop6: 151,2 МБ, 158584832 байта, 309736 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск / dev / loop7: 14,8 МБ, 15458304 байта, 30192 сектора
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Диск / dev / sda: 500 ГиБ, 536870912000 байт, 1048576000 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Тип метки диска: DOS
Идентификатор диска: 0xcef957f5
Загрузка устройства Начало Конец Секторов Размер Идентификатор Типа
/ dev / sda1 2048 462639103 462637056 220.6G 83 Linux
/ dev / sda2 * 462639104 464592895 1953792 954M 83 Linux
/ dev / sda3 464592896 482168831 17575936 8.4G 82 Linux swap / Solaris
/ dev / sda4 482168832 1048573951 566405120 270.1G 83 Linux
Диск / dev / loop8: 4 МБ, 4218880 байт, 8240 секторов
Единицы: секторы 1 * 512 = 512 байт
Размер сектора (логический / физический): 512 байт / 512 байт
Размер ввода / вывода (минимальный / оптимальный): 512 байт / 512 байт
Эта специальная команда используется для перезагрузки системы с опцией -f для определения количества вилок.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -a "/ SBIN / перезагрузка" -f 1
Передача файла
Специальная команда ansible ниже используется для копирования файла из источника в место назначения для группы хостов (клиента), определенной в файле инвентаризации. После ввода пароля вывод с параметром «change» будет «true», что означает, что файл был скопирован в место назначения.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m copy -a ‘src = / home / geekflare / nginx.yml dest = / home / geekflare / Рабочий стол / владелец = корневой режим = 0644’ -u root –become -K
СТАТЬ пароль
узел1 | ИЗМЕНЕНО => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": правда,
"контрольная сумма": "5631822866afd5f19b928edb3ba018385df22dd3",
"Dest": "/home/geekflare/Desktop/nginx.yml",
"GID": 0,
"группа": "корень",
"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634",
"Режим": "0644",
"владелец": "корень",
"размер": 280,
"ЦСИ": "/root/.ansible/tmp/ansible-tmp-1562253463.3-214622150088155/source",
"штат": "файл",
"UID": 0
}
Запустите приведенную ниже команду, чтобы проверить, правильно ли работает модуль копирования. Скопированный файл должен прибыть в место назначения, указанное в предыдущей команде.
[Электронная почта защищена]: / home / geekflare # ls Desktop /
nginx.yml
Я создаю новый каталог для запуска извлечения модуля n следующей специальной командой.
[Электронная почта защищена]: / home / geekflare # пример mkdir
[Электронная почта защищена]: / home / geekflare # ls
Пример настольных документов examples.desktop nginx_new.yml nginx.yml
Специальная команда ansible ниже используется для загрузки файла с хоста, определенного в команде. В этой команде мы загружаем файл с помощью модуля fetch с сервера node1 в локальный пункт назначения на ansible node.
[Электронная почта защищена]: / home / geekflare # ansible node1 -m fetch -a ‘src = / etc / sudoers.d / nginx.yml dest = / home / geekflare / example / flat = yes’
узел1 | УСПЕХ => {
"изменено": ложный,
"контрольная сумма": "5631822866afd5f19b928edb3ba018385df22dd3",
"Dest": "/home/geekflare/example/nginx.yml",
"файл": "/etc/sudoers.d/nginx.yml",
"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634"
}
Проверьте, был ли файл загружен или нет в месте назначения, указанном в команде.
[Электронная почта защищена]: / home / geekflare # ls пример
nginx.yml
Управление пакетами
Упомянутая ниже команда устанавливает nginx на группу хостов (клиент), упомянутую с использованием модуля apt.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m apt -a ‘имя = состояние nginx = последний’ –become
узел1 | УСПЕХ => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"cache_update_time": 1562411227,
"cache_updated": ложный,
"изменено": ложный
}
Упомянутая ниже команда удаляет nginx на группе хостов (клиент), используя модуль apt, и удаляет все связанные конфигурации.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m apt -a ‘name = nginx state = отсутствует purge = yes’ –become
узел1 | ИЗМЕНЕНО => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": правда,
"STDERR": "",
"stderr_lines": [],
"стандартный вывод": "Чтение списков пакетов … \ nСоздание дерева зависимостей … \ nЧтение информации о состоянии … \ nСледующие пакеты были автоматически установлены и больше не требуются: \ n libnginx-mod-http-geoip libnginx-mod-http-image- filter \ n libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream \ n nginx-common nginx-core \ nИспользуйте ‘sudo apt autoremove’ для их удаления. \ nСледующие пакеты будут УДАЛЕНЫ: \ n nginx * \ n0 обновлен, 0 вновь установлен, 1 для удаления и 241. Не обновлен. \ nПосле этой операции освободится дисковое пространство 44,0 КБ. \ n (Чтение базы данных … \ r (Чтение базы данных … 5% \ r (Чтение базы данных … 10% \ r (Чтение базы данных … 15% \ r (Чтение базы данных … 20% \ r (Чтение базы данных … 25% \ r) (Чтение базы данных … 30% \ r (Чтение базы данных … 35% \ r (Чтение базы данных … 40% \ r (Чтение базы данных … 45% \ r) (Чтение базы данных … 50% \ (Чтение базы данных … 55% Чтение базы данных … 60% Чтение базы данных … 65% Чтение базы данных … 70% Чтение базы данных … 75% Чтение базы данных … 80% \ г (Readi ng база данных … 85% \ r (чтение базы данных … 90% \ r (чтение базы данных … 95% \ r (чтение базы данных … 100% \ r) (чтение базы данных … 180191 файлов и каталогов в настоящее время установлен.) \ r \ nСнятие nginx (1.15.5-0ubuntu2.1) … \ r \ n",
"stdout_lines": [
"Чтение списков пакетов…",
"Построение дерева зависимостей…",
"Чтение информации о состоянии…",
"Следующие пакеты были установлены автоматически и больше не требуются:",
" libnginx-mod-http-geoip libnginx-mod-http-image-filter",
" libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream",
" nginx-общий nginx-core",
"Используйте sudo apt autoremove, чтобы удалить их.",
"Следующие пакеты будут удалены:",
" Nginx *",
"0 обновлено, 0 недавно установлено, 1 для удаления и 241 не обновлено.",
"После этой операции освободится 44,0 кБ дискового пространства..",
"(Чтение базы данных … ",
"(Чтение базы данных … 5%",
"(Чтение базы данных … 10%",
"(Чтение базы данных … 15%",
"(Чтение базы данных … 20%",
"(Чтение базы данных … 25%",
"(Чтение базы данных … 30%",
"(Чтение базы данных … 35%",
"(Чтение базы данных … 40%",
"(Чтение базы данных … 45%",
"(Чтение базы данных … 50%",
"(Чтение базы данных … 55%",
"(Чтение базы данных … 60%",
"(Чтение базы данных … 65%",
"(Чтение базы данных … 70%",
"(Чтение базы данных … 75%",
"(Чтение базы данных … 80%",
"(Чтение базы данных … 85%",
"(Чтение базы данных … 90%",
"(Чтение базы данных … 95%",
"(Чтение базы данных … 100%",
"(Чтение базы данных … 180191 файлов и каталогов, установленных в настоящее время.)",
"Удаление nginx (1.15.5-0ubuntu2.1) …"
]
}
Управление услугами
Приведенная ниже команда ansible ad-hoc запускает служебный модуль для запуска nginx на хосте. Значение состояния должно быть запущено.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m служба -a ‘имя = состояние nginx = запущено включено = да’ –become
узел1 | УСПЕХ => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": ложный,
"включен": правда,
"имя": "Nginx",
"штат": "начал",
"положение дел": {
"ActiveEnterTimestamp": "Сб 2019-07-06 08:28:02 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"ActiveEnterTimestampMonotonic": "31411371",
"ActiveExitTimestampMonotonic": "0",
"ActiveState": "активный",
"После": "sysinit.target system.slice systemd-journald.socket basic.target network.target",
"AllowIsolate": "нет",
"AmbientCapabilities": "",
"AssertResult": "да",
"AssertTimestamp": "Сб 2019-07-06 08:27:59 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"AssertTimestampMonotonic": "27694868",
"Перед": "multi-user.target shutdown.target",
"BlockIOAccounting": "нет",
"BlockIOWeight": "[не задано]",
"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill CAP_SETGID cap_setpcap cap_linux_immutable разрешения CAP_SETUID cap_net_bind_service cap_net_broadcast CAP_NET_ADMIN CAP_NET_RAW cap_ipc_lock cap_ipc_owner CAP_SYS_MODULE CAP_SYS_RAWIO cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",
"CollectMode": "неактивный",
"ConditionResult": "да",
"ConditionTimestamp": "Сб 2019-07-06 08:27:59 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"ConditionTimestampMonotonic": "27694867",
"ConfigurationDirectoryMode": "0755",
"конфликты": "shutdown.target",
"Контрольная группа": "/system.slice/nginx.service",
"ControlPID": "0",
"ExecMainStartTimestamp": "Сб 2019-07-06 08:28:02 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"ExecMainStartTimestampMonotonic": "31411353",
"ExecMainStatus": "0",
"ExecReload": "{путь = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g демон включен; master_process on; перезагрузка; ignore_errors = no; start_time = [н / п]; stop_time = [н / п]; pid = 0; код = (ноль); статус = 0/0}",
"ExecStart": "{путь = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -g демон включен; master_process on; ; ignore_errors = no; start_time = [н / п]; stop_time = [н / п]; pid = 0; код = (ноль); статус = 0/0}",
"ExecStartPre": "{путь = / usr / sbin / nginx; argv [] = / usr / sbin / nginx -t -q -g демон включен; master_process on; ; ignore_errors = no; start_time = [н / п]; stop_time = [н / п]; pid = 0; код = (ноль); статус = 0/0}",
"ExecStop": "{путь = / sbin / start-stop-daemon; argv [] = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid; ignore_errors = yes; start_time = [н / п]; stop_time = [н / п]; pid = 0; код = (ноль); статус = 0/0}",
"FailureAction": "никто",
"FileDescriptorStoreMax": "0",
"FragmentPath": "/lib/systemd/system/nginx.service",
"GID": "[не задано]",
"GuessMainPID": "да",
"IOAccounting": "нет",
"IOSchedulingClass": "0",
"IOSchedulingPriority": "0",
"IOWeight": "[не задано]",
}
}
Ниже запускается служебный модуль для остановки nginx на хосте. Значение состояния меняется на остановлено.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m сервис -a ‘имя = состояние nginx = остановлено’ –become
узел1 | ИЗМЕНЕНО => {
"ansible_facts": {
"discovered_interpreter_python": "/ USR / бен / питон"
},
"изменено": правда,
"имя": "Nginx",
"штат": "остановился",
"положение дел": {
"ActiveEnterTimestamp": "Сб 2019-07-06 08:28:02 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"ActiveEnterTimestampMonotonic": "31411371",
"ActiveExitTimestampMonotonic": "0",
"ActiveState": "активный",
"После": "sysinit.target system.slice systemd-journald.socket basic.target network.target",
"AllowIsolate": "нет",
"AmbientCapabilities": "",
"AssertResult": "да",
"AssertTimestamp": "Сб 2019-07-06 08:27:59 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"AssertTimestampMonotonic": "27694868",
"Перед": "multi-user.target shutdown.target",
"BlockIOAccounting": "нет",
"BlockIOWeight": "[не задано]",
"CPUAccounting": "нет",
"CPUQuotaPerSecUSec": "бесконечность",
"CanReload": "да",
"CanStart": "да",
"CanStop": "да",
"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill CAP_SETGID cap_setpcap cap_linux_immutable разрешения CAP_SETUID cap_net_bind_service cap_net_broadcast CAP_NET_ADMIN CAP_NET_RAW cap_ipc_lock cap_ipc_owner CAP_SYS_MODULE CAP_SYS_RAWIO cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend",
"CollectMode": "неактивный",
"ConditionResult": "да",
"ConditionTimestamp": "Сб 2019-07-06 08:27:59 ПО ВОСТОЧНОМУ ВРЕМЕНИ",
"ConditionTimestampMonotonic": "27694867",
"ConfigurationDirectoryMode": "0755",
"конфликты": "shutdown.target",
"Контрольная группа": "/system.slice/nginx.service",
"ControlPID": "0",
"DefaultDependencies": "да",
"делегат": "нет",
"Описание": "Высокопроизводительный веб-сервер и обратный прокси-сервер",
"DevicePolicy": "авто",
"Документация": "человек: Nginx (8)",
"DynamicUser": "нет",
}
}
Проверка системы
Упомянутая ниже команда ansible ad-hoc запускает модуль оболочки для проверки диска, доступного в корневых разделах.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m shell -a ‘df -h / dev / sda2’ –become
узел1 | ИЗМЕНЕНО | RC = 0 >>
Используемый размер файловой системы. Используется. Используется%.
/ dev / sda2 923M 113M 748M 14% / boot
Эта команда, упомянутая ниже, запускает модуль оболочки для проверки свободной памяти (RAM) на хосте.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -m shell -a ‘free -m’ –become
узел1 | ИЗМЕНЕНО | RC = 0 >>
общее количество свободного общего доступного баффа / кэша доступно
Памятка: 5101 854 2760 27 1487 3947
Своп: 8581 0 8581
Эта команда проверяет время работы каждого сервера.
[Электронная почта защищена]: / home / geekflare # ansible Клиент -a "Провел"
узел1 | ИЗМЕНЕНО | RC = 0 >>
11:31:17 до 1 дня, 2:40, 2 пользователя, средняя загрузка: 0,23, 0,05, 0,02
Сбор фактов
Приведенная ниже команда ansible ad-hoc предоставит вам всю специальную информацию о вашей системе, включая все переменные, присутствующие в системе..
[Электронная почта защищена]: / home / geekflare # ansible all -m setup
узел1 | УСПЕХ => {
"ansible_facts": {
"ansible_all_ipv4_addresses": [
"172.17.0.1",
"10.0.2.15"
],
"ansible_all_ipv6_addresses": [
"fe80 :: 763e: c0b4: 14df: b273"
],
"ansible_apparmor": {
"положение дел": "включен"
},
"ansible_architecture": "x86_64",
"ansible_bios_date": "12/01/2006",
"ansible_bios_version": "VirtualBox",
"ansible_cmdline": {
"BOOT_IMAGE": "/vmlinuz-4.18.0-25-generic",
"тихо": правда,
"ро": правда,
"корень": "UUID = 5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83",
"всплеск": правда
},
"ansible_date_time": {
"свидание": "2019-07-07",
"день": "07",
"эпоха": "1562525628",
"час": "14",
"ISO8601": "2019-07-07T18: 53: 48Z",
"iso8601_basic": "20190707T145348850596",
"iso8601_basic_short": "20190707T145348",
"iso8601_micro": "2019-07-07T18: 53: 48.850697Z",
"минут": "53",
"месяц": "07",
"второй": "48",
"время": "14:53:48",
"TZ": "По восточному времени",
"TZ_OFFSET": "-0400",
"будний день": "Воскресенье",
"weekday_number": "0",
"НомерНедели": "26",
"год": "2019"
},
"ansible_default_ipv4": {
"адрес": "10.0.2.15",
"псевдоним": "enp0s3",
"широковещательный": "10.0.2.255",
"шлюз": "10.0.2.2",
"интерфейс": "enp0s3",
"MAC-адрес": "08: 00: 27: 68: 64: 9а",
"МТУ": 1500,
"маска подсети": "255.255.255.0",
"сеть": "10.0.2.0",
"тип": "эфир"
},
"ansible_default_ipv6": {},
"ansible_device_links": {
"идентификаторы": {
"SDA": [
"ата-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5"
],
"sda1": [
"ата-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part1"
],
"sda2": [
"ата-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part2"
],
"sda3": [
"ата-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part3"
],
"sda4": [
"ата-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part4"
],
"sr0": [
"ата-VBOX_CD-ROM_VB2-01700376"
]
},
"этикетки": {
"sr0": [
"VBox_GAs_6.0.2"
]
},
"мастера": {},
"UUID,": {
"sda1": [
"5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83"
],
"sda2": [
"b8b7f87b-c3bf-48ed-a44c-f9b3ce0afbe5"
],
"sda3": [
"a6c77fa6-e292-4a0d-B21F-8804f1949bbd"
],
"sda4": [
"8207f970-4d9a-47db-a5d5-f620e5b17b7b"
],
"sr0": [
"2019-01-14-14-57-19-65"
]
}
},
"ansible_devices": {
"loop0": {
"держатели": [],
"хозяин": "",
"связи": {
"идентификаторы": [],
"этикетки": [],
"мастера": [],
"UUID,": []
},
"модель": значение NULL,
"перегородки": {},
"съемный": "0",
"вращающийся": "1",
"sas_address": значение NULL,
"sas_device_handle": значение NULL,
"scheduler_mode": "никто",
"секторов": "29704",
"размером сектора": "512",
"размер": "14.50 МБ",
"support_discard": "4096",
"продавец": значение NULL,
"виртуальный": 1
},
"loop1": {
"держатели": [],
"хозяин": "",
"связи": {
"идентификаторы": [],
"этикетки": [],
"мастера": [],
"UUID,": []
},
"модель": значение NULL,
"перегородки": {},
"съемный": "0",
"вращающийся": "1",
"sas_address": значение NULL,
"sas_device_handle": значение NULL,
"scheduler_mode": "никто",
"секторов": "0",
"размером сектора": "512",
"размер": "0,00 байт",
"support_discard": "4096",
"продавец": значение NULL,
"виртуальный": 1
},
}
Итак, это все о Ansible Ad-hoc командах. Идите и попробуйте эти команды на вашей настройке ANSI. Используйте эти команды для запуска ANSIB-модулей без написания любой книги-сборника Ansible для выполнения этих задач Оставьте комментарий, если у вас возникнут проблемы с запуском этих команд.
TAGS:
анзибль