Guia de Comando Ad-hoc Ansible com Exemplos

Comandos ad-hoc são usados ​​no Ansible para executar tarefas instantaneamente, e você não precisa salvá-las para uso posterior. Este artigo é sobre Ansible Ad-hoc Command.


Existem várias tarefas no Ansible nas quais você não precisa escrever um manual separado do Ansible; você pode simplesmente executar um comando ad-hoc ansible para essa tarefa. Estes são comandos de uma linha para executar uma única tarefa no host de destino. Esses comandos estão presentes em / usr / bin / ansible

Tarefas como executar ping em todos os hosts para verificar se estão em execução, copiar um arquivo, reinicializar servidores, instalar um pacote podem ser facilmente realizadas por meio de comandos Ansible Ad-hoc. Aqui está uma lista dos comandos Ansible Ad-hoc fundamentais que você deve conhecer.

Comandos básicos

O comando ad-hoc abaixo executa um módulo ping em todos os hosts no arquivo de inventário. Aqui -m é a opção para um módulo.

[protegido por email]: / home / geekflare # ansible all -m ping
node1 | SUCESSO => {
"ansible_facts": {
"discover_interpreter_python": "/ usr / bin / python"
},
"mudou": false,
"ping": "pong"
}

O comando mencionado abaixo executa o módulo de instalação em um grupo de hosts – Cliente presente no arquivo de inventário ‘/ etc / ansible / hosts’.

[protegido por email]: / home / geekflare # ansible Client -m instalação -a "filter = ansible_distribution *"
node1 | SUCESSO => {
"ansible_facts": {
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": verdade,
"ansible_distribution_file_path": "/ etc / os-release",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "18",
"ansible_distribution_release": "cósmico",
"ansible_distribution_version": "18.10",
"discover_interpreter_python": "/ usr / bin / python"
},
"mudou": false
}

O comando abaixo é usado para solicitar a autenticação de senha SSH. Você precisa adicionar a opção –ask-pass no final do comando. Depois de executar o comando, ele solicitará que você digite a senha SSH.

[protegido por email]: / home / geekflare # ansible Client -m ping –ask-pass
Senha SSH:
node1 | SUCESSO => {
"ansible_facts": {
"discover_interpreter_python": "/ usr / bin / python"
},
"mudou": false,
"ping": "pong"
}

O comando abaixo fornece o recurso de execução de comandos ad-hoc como um usuário não root com privilégios de root. A opção –become fornece privilégios de root e a opção -K solicita a senha.

[protegido por email]: / home / geekflare # cliente ansible -m shell -a ‘fdisk -l’ -u geekflare –become -K
TORNE-SE uma senha:
node1 | MUDADO | rc = 0 >>
Disco / dev / loop0: 14,5 MiB, 15208448 bytes, 29704 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Disco / dev / loop2: 42,1 MiB, 44183552 bytes, 86296 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Disco / dev / loop3: 149,9 MiB, 157184000 bytes, 307000 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Disco / dev / loop5: 140,7 MiB, 147501056 bytes, 288088 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Disco / dev / loop6: 151,2 MiB, 158584832 bytes, 309736 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Disco / dev / loop7: 14,8 MiB, 15458304 bytes, 30192 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Disco / dev / sda: 500 GiB, 536870912000 bytes, 1048576000 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes
Tipo de rótulo de disco: dos
Identificador de disco: 0xcef957f5

Setores finais de inicialização do dispositivo Tamanho Tipo de ID
/ 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 Troca de Linux / Solaris
/ dev / sda4 482168832 1048573951 566405120 270.1G 83 Linux

Disk / dev / loop8: 4 MiB, 4218880 bytes, 8240 setores
Unidades: setores de 1 * 512 = 512 bytes
Tamanho do setor (lógico / físico): 512 bytes / 512 bytes
Tamanho de E / S (mínimo / ideal): 512 bytes / 512 bytes

Este comando ad-hoc é usado para reiniciar o sistema com a opção -f para definir o número de garfos.

[protegido por email]: / home / geekflare # ansible Client -a "/ sbin / reboot" -f 1

Transferência de arquivo

O comando ansible ad-hoc abaixo é usado para copiar um arquivo de uma origem para um destino para um grupo de hosts (Cliente) definido no arquivo de inventário. Depois de inserir a senha, a saída com o parâmetro “change” será “true”, o que significa que o arquivo foi copiado para o destino.

[protegido por email]: / home / geekflare # cliente ansible -m copy -a ‘src = / home / geekflare / nginx.yml dest = / home / geekflare / Desktop / owner = modo raiz = 0644’ -u root –become -K
TORNE-SE senha:
node1 | ALTERADO => {
"ansible_facts": {
"discover_interpreter_python": "/ usr / bin / python"
},
"mudou": verdade,
"soma de verificação": "5631822866afd5f19b928edb3ba018385df22dd3",
"dest": "/home/geekflare/Desktop/nginx.yml",
"gid": 0,
"grupo": "raiz",
"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634",
"modo": "0644",
"proprietário": "raiz",
"Tamanho": 280,
"src": "/root/.ansible/tmp/ansible-tmp-1562253463.3-214622150088155/source",
"Estado": "Arquivo",
"uid": 0
}

Execute o comando abaixo para verificar se o módulo de cópia funcionou corretamente ou não. O arquivo copiado deve chegar ao destino mencionado no comando anterior.

[protegido por email]: / home / geekflare # ls Desktop /

nginx.yml

Estou criando um novo diretório para executar o módulo buscar n no próximo comando ad-hoc.

[protegido por email]: / home / geekflare # mkdir exemplo

[protegido por email]: / home / geekflare # ls

Documentos da área de trabalho exemplo examples.desktop nginx_new.yml nginx.yml

O comando ansible ad-hoc abaixo é usado para baixar um arquivo de um host definido no comando. Neste comando, estamos baixando um arquivo usando o módulo de busca do servidor node1 para um destino local no nó ansible.

[protegido por email]: / home / geekflare # ansible node1 -m fetch -a ‘src = / etc / sudoers.d / nginx.yml dest = / home / geekflare / example / flat = yes’

node1 | SUCESSO => {

"mudou": false,

"soma de verificação": "5631822866afd5f19b928edb3ba018385df22dd3",

"dest": "/home/geekflare/example/nginx.yml",

"Arquivo": "/etc/sudoers.d/nginx.yml",

"md5sum": "0d6ffe1069fc25ad4f8ad700277c4634"

}

Verifique se o arquivo foi baixado ou não no destino mencionado no comando.

[protegido por email]: / home / geekflare # ls exemplo

nginx.yml

Gerenciar pacotes

O comando mencionado abaixo instala o nginx em um grupo de hosts (cliente) mencionados usando um módulo apt.

[protegido por email]: / home / geekflare # ansible Client -m apt -a ‘name = nginx state = latest’ –become

node1 | SUCESSO => {

"ansible_facts": {

"discover_interpreter_python": "/ usr / bin / python"

},

"cache_update_time": 1562411227,

"cache_updated": false,

"mudou": false

}

O comando mencionado abaixo remove o nginx em um grupo de hosts (cliente) usando o módulo apt e limpa todas as configurações relacionadas.

[protegido por email]: / home / geekflare # ansible Client -m apt -a ‘name = nginx state = ausência ausente = sim’ – torne-se

node1 | ALTERADO => {

"ansible_facts": {

"discover_interpreter_python": "/ usr / bin / python"

},

"mudou": verdade,

"stderr": "",

"stderr_lines": [],

"stdout": "Lendo listas de pacotes … \ nConstruindo a árvore de dependência … \ nLendo informações sobre o estado … \ nOs seguintes pacotes foram instalados automaticamente e não são mais necessários: \ 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 \ nUse ‘sudo apt autoremove’ para removê-los. \ nOs seguintes pacotes serão REMOVIDOS: \ n nginx * \ n0 atualizado, 0 recém-instalado, 1 para remover e 241 não atualizado. \ nDepois desta operação, um espaço em disco de 44,0 kB será liberado. \ n (Lendo banco de dados … \ r (Lendo banco de dados … 5% \ r (Lendo banco de dados … 10% \ r (Lendo banco de dados … 15% \ r (Lendo banco de dados … 20% \ r (Lendo banco de dados … 25% \ r (Lendo banco de dados … 25% \ r (Lendo banco de dados … 30% \ r (Lendo banco de dados … 35% \ r (Lendo banco de dados … 40% \ r (Lendo banco de dados … 45% \ r (Lendo banco de dados … 50% \ r (Lendo banco de dados … 50% \ r (Lendo banco de dados … 55% \ r (Lendo banco de dados … 60% \ r (Lendo banco de dados … 65% \ r (Lendo banco de dados … 70% \ r (Lendo banco de dados … 75% \ r (Lendo banco de dados … 75% \ r (Lendo banco de dados … 80% \ r (Readi ng base de dados … 85% \ r (Lendo banco de dados … 90% \ r (Lendo banco de dados … 95% \ r (Lendo banco de dados … 100% \ r (Lendo banco de dados … 180% \ r (Lendo banco de dados … 180191 arquivos e diretórios atualmente instalado.) \ r \ nRemovendo o nginx (1.15.5-0ubuntu2.1) … \ r \ n",

"stdout_lines": [

"Lendo listas de pacotes…",

"Construindo árvore de dependência…",

"Lendo informações do estado…",

"Os seguintes pacotes foram instalados automaticamente e não são mais necessários:",

"  libnginx-mod-http-geoip libnginx-mod-http-filtro de imagem",

"  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream",

"  nginx-common nginx-core",

"Use ‘sudo apt autoremove’ para removê-los.",

"Os seguintes pacotes serão REMOVIDOS:",

"  nginx *",

"0 atualizado, 0 recém-instalado, 1 para remover e 241 não atualizado.",

"Após esta operação, 44.0 kB de espaço em disco será liberado.",

"(Lendo banco de dados … ",

"(Lendo banco de dados … 5%",

"(Lendo o banco de dados … 10%",

"(Lendo banco de dados … 15%",

"(Lendo banco de dados … 20%",

"(Lendo o banco de dados … 25%",

"(Lendo banco de dados … 30%",

"(Lendo banco de dados … 35%",

"(Lendo banco de dados … 40%",

"(Lendo o banco de dados … 45%",

"(Lendo banco de dados … 50%",

"(Lendo banco de dados … 55%",

"(Lendo banco de dados … 60%",

"(Lendo banco de dados … 65%",

"(Lendo banco de dados … 70%",

"(Lendo o banco de dados … 75%",

"(Lendo banco de dados … 80%",

"(Lendo banco de dados … 85%",

"(Lendo banco de dados … 90%",

"(Lendo banco de dados … 95%",

"(Lendo banco de dados … 100%",

"(Lendo arquivos e diretórios do banco de dados … 180191 atualmente instalados.)",

"Removendo o nginx (1.15.5-0ubuntu2.1) …"

]

}

Gerenciar serviços

O comando ansible ad-hoc abaixo executa o módulo de serviço para iniciar o nginx no host. O valor do estado deve ser iniciado.

[protegido por email]: / home / geekflare # ansible Cliente -m serviço -a ‘name = nginx state = iniciado ativado = yes’ –become

node1 | SUCESSO => {

"ansible_facts": {

"discover_interpreter_python": "/ usr / bin / python"

},

"mudou": false,

"ativado": verdade,

"nome": "nginx",

"Estado": "começado",

"status": {

"ActiveEnterTimestamp": "Postado por Unknown às 08:28:02",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0 0",

"ActiveState": "ativo",

"Depois de": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "não",

"AmbientCapabilities": "",

"AssertResult": "sim",

"AssertTimestamp": "Entre Crie a sua conta",

"AssertTimestampMonotonic": "27694868",

"Antes": "multi-user.target shutdown.target",

"BlockIOAccounting": "não",

"BlockIOWeight": "[não configurado]",

"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid CAP_SETUID cap_setpcap CAP_LINUX_IMMUTABLE 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": "inativo",

"ConditionResult": "sim",

"ConditionTimestamp": "Entre Crie a sua conta",

"Condição: TimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"Conflitos": "shutdown.target",

"Grupo de controle": "/system.slice/nginx.service",

"ControlPID": "0 0",

"ExecMainStartTimestamp": "Postado por Unknown às 08:28:02",

"ExecMainStartTimestampMonotonic": "31411353",

"ExecMainStatus": "0 0",

"ExecReload": "{caminho = / usr / sbin / nginx; argv [] = daemon / usr / sbin / nginx -g ativado; master_process on; -s recarregar; ignore_errors = não; start_time = [n / a]; stop_time = [n / a]; pid = 0; código = (nulo); status = 0/0}",

"ExecStart": "{caminho = / usr / sbin / nginx; argv [] = daemon / usr / sbin / nginx -g ativado; master_process on; ; ignore_errors = não; start_time = [n / a]; stop_time = [n / a]; pid = 0; código = (nulo); status = 0/0}",

"ExecStartPre": "{caminho = / usr / sbin / nginx; argv [] = daemon / usr / sbin / nginx -t -q -g ativado; master_process on; ; ignore_errors = não; start_time = [n / a]; stop_time = [n / a]; pid = 0; código = (nulo); status = 0/0}",

"ExecStop": "{caminho = / sbin / start-stop-daemon; argv [] = / sbin / start-stop-daemon –quiet –stop –retry QUIT / 5 –pidfile /run/nginx.pid; ignore_errors = yes; start_time = [n / a]; stop_time = [n / a]; pid = 0; código = (nulo); status = 0/0}",

"FailureAction": "Nenhum",

"FileDescriptorStoreMax": "0 0",

"FragmentPath": "/lib/systemd/system/nginx.service",

"GID": "[não configurado]",

"GuessMainPID": "sim",

"IOAccounting": "não",

"IOSchedulingClass": "0 0",

"IOSchedulingPriority": "0 0",

"IOWeight": "[não configurado]",

}

}

O abaixo executa o módulo de serviço para parar o nginx no host. O valor do estado muda para parado.

[protegido por email]: / home / geekflare # ansible Cliente -m serviço -a ‘name = nginx state = stop’ –become

node1 | ALTERADO => {

"ansible_facts": {

"discover_interpreter_python": "/ usr / bin / python"

},

"mudou": verdade,

"nome": "nginx",

"Estado": "parado",

"status": {

"ActiveEnterTimestamp": "Postado por Unknown às 08:28:02",

"ActiveEnterTimestampMonotonic": "31411371",

"ActiveExitTimestampMonotonic": "0 0",

"ActiveState": "ativo",

"Depois de": "sysinit.target system.slice systemd-journald.socket basic.target network.target",

"AllowIsolate": "não",

"AmbientCapabilities": "",

"AssertResult": "sim",

"AssertTimestamp": "Entre Crie a sua conta",

"AssertTimestampMonotonic": "27694868",

"Antes": "multi-user.target shutdown.target",

"BlockIOAccounting": "não",

"BlockIOWeight": "[não configurado]",

"CPUAccounting": "não",

"CPUQuotaPerSecUSec": "infinidade",

"CanReload": "sim",

"Pode iniciar": "sim",

"Pode parar": "sim",

"CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid CAP_SETUID cap_setpcap CAP_LINUX_IMMUTABLE 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": "inativo",

"ConditionResult": "sim",

"ConditionTimestamp": "Entre Crie a sua conta",

"Condição: TimestampMonotonic": "27694867",

"ConfigurationDirectoryMode": "0755",

"Conflitos": "shutdown.target",

"Grupo de controle": "/system.slice/nginx.service",

"ControlPID": "0 0",

"DefaultDependencies": "sim",

"Delegar": "não",

"Descrição": "Um servidor Web de alto desempenho e um servidor proxy reverso",

"DevicePolicy": "auto",

"Documentação": "homem: nginx (8)",

"DynamicUser": "não",

}

}

Verificando o sistema

O comando ansible ad-hoc mencionado abaixo executa um módulo shell para verificar o disco disponível nas partições raiz.

[protegido por email]: / home / geekflare # ansible Client -m shell -a ‘df -h / dev / sda2’ –become

node1 | MUDADO | rc = 0 >>

Tamanho do sistema de arquivos usado% de uso disponível montado em

/ dev / sda2 923M 113M 748M 14% / inicialização

Este comando mencionado abaixo executa um módulo shell para verificar a memória livre (RAM) no host.

[protegido por email]: / home / geekflare # ansible Client -m shell -a ‘free -m’ –become

node1 | MUDADO | rc = 0 >>

total disponível de buff / cache compartilhado gratuito

Mem: 5101 854 2760 27 1487 3947

Troca: 8581 0 8581

Este comando verifica o tempo de atividade de cada servidor em execução.

[protegido por email]: / home / geekflare # ansible Client -a "tempo de atividade"

node1 | MUDADO | rc = 0 >>

11:31:17 até 1 dia, 2:40, 2 usuários, média de carga: 0,23, 0,05, 0,02

Reunindo fatos

O comando ansible ad-hoc abaixo fornecerá todas as informações ad-hoc do seu sistema, incluindo todas as variáveis ​​presentes no sistema.

[protegido por email]: / home / geekflare # ansible all -m configuração

node1 | SUCESSO => {

"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": {

"status": "ativado"

},

"ansible_architecture": "x86_64",

"ansible_bios_date": "01/12/2006",

"ansible_bios_version": "VirtualBox",

"ansible_cmdline": {

"BOOT_IMAGE": "/vmlinuz-4.18.0-25-generic",

"quieto": verdade,

"ro": verdade,

"raiz": "UUID = 5f85d8b7-0ab2-48c9-9e6e-4ecfbcbdaa83",

"respingo": verdade

},

"ansible_date_time": {

"encontro": "07/07/2019",

"dia": "07",

"época": "1562525628",

"hora": "14",

"iso8601": "2019-07-07T18: 53: 48Z",

"iso8601_basic": "20190707T145348850596",

"iso8601_basic_short": "20190707T145348",

"iso8601_micro": "2019-07-07T18: 53: 48.850697Z",

"minuto": "53",

"mês": "07",

"segundo": "48.",

"Tempo": "14:53:48",

"tz": "Edt",

"tz_offset": "-0400",

"dia da semana": "domingo",

"weekday_number": "0 0",

"número da semana": "26",

"ano": "2019"

},

"ansible_default_ipv4": {

"endereço": "10.0.2.15",

"pseudônimo": "enp0s3",

"transmissão": "10.0.2.255",

"Porta de entrada": "10.0.2.2",

"interface": "enp0s3",

"endereço MAC": "08: 00: 27: 68: 64: 9a",

"mtu": 1500,

"máscara de rede": "255.255.255.0",

"rede": "10.0.2.0",

"tipo": "éter"

},

"ansible_default_ipv6": {},

"ansible_device_links": {

"ids": {

"sda": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5"

],

"sda1": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part1"

],

"sda2": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part2"

],

"sda3": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part3"

],

"sda4": [

"ata-VBOX_HARDDISK_VB3a0a2351-0b6c0ed5-part4"

],

"sr0": [

"ata-VBOX_CD-ROM_VB2-01700376"

]

},

"etiquetas": {

"sr0": [

"VBox_GAs_6.0.2"

]

},

"mestres": {},

"uuids": {

"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": {

"titulares": [],

"hospedeiro": "",

"ligações": {

"ids": [],

"etiquetas": [],

"mestres": [],

"uuids": []

},

"modelo": nulo,

"partições": {},

"removível": "0 0",

"rotacional": "1 1",

"sas_address": nulo,

"sas_device_handle": nulo,

"scheduler_mode": "Nenhum",

"setores": "29704",

"setorizar": "512",

"Tamanho": "14,50 MB",

"support_discard": "4096",

"fornecedor": nulo,

"virtual": 1

},

"loop1": {

"titulares": [],

"hospedeiro": "",

"ligações": {

"ids": [],

"etiquetas": [],

"mestres": [],

"uuids": []

},

"modelo": nulo,

"partições": {},

"removível": "0 0",

"rotacional": "1 1",

"sas_address": nulo,

"sas_device_handle": nulo,

"scheduler_mode": "Nenhum",

"setores": "0 0",

"setorizar": "512",

"Tamanho": "0,00 bytes",

"support_discard": "4096",

"fornecedor": nulo,

"virtual": 1

},

}

Então, isso era tudo sobre os Ansible Ad-hoc Commands. Vá em frente e tente estes comandos em sua configuração ansible. Use estes comandos para executar módulos ansible sem escrever nenhum manual Ansible para executar essas tarefas. Deixe um comentário se tiver algum problema ao executar esses comandos.

TAG:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map