Ansible - Comandos Ad hoc
Os comandos ad hoc são comandos que podem ser executados individualmente para executar funções rápidas. Esses comandos não precisam ser executados posteriormente.
Por exemplo, você deve reiniciar todos os servidores da sua empresa. Para isso, você executará os comandos Adhoc de '/usr/bin/ansible'.
Esses comandos ad-hoc não são usados para gerenciamento de configuração e implantação, porque esses comandos são de uso único.
ansible-playbook é usado para gerenciamento de configuração e implantação.
Paralelismo e comandos Shell
Reinicialize o servidor da empresa em 12 garfos paralelos de cada vez. Para isso, precisamos configurar o SSHagent para conexão.
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
Para executar a reinicialização de todos os servidores da sua empresa em um grupo, 'abc', em 12 garfos paralelos -
$ Ansible abc -a "/sbin/reboot" -f 12
Por padrão, o Ansible executará os comandos Ad-hoc acima da conta do usuário atual. Se você quiser mudar este comportamento, você terá que passar o nome de usuário nos comandos Ad-hoc da seguinte forma -
$ Ansible abc -a "/sbin/reboot" -f 12 -u username
Transferência de arquivo
Você pode usar os comandos Ad-hoc para fazer SCP (Secure Copy Protocol) muitos arquivos em paralelo em várias máquinas.
Transferindo arquivo para muitos servidores / máquinas
$ Ansible abc -m copy -a "src = /etc/yum.conf dest = /tmp/yum.conf"
Criando novo diretório
$ Ansible abc -m file -a "dest = /path/user1/new mode = 777 owner = user1 group = user1 state = directory"
Excluindo diretórios e arquivos inteiros
$ Ansible abc -m file -a "dest = /path/user1/new state = absent"
Gerenciando Pacotes
Os comandos Ad-hoc estão disponíveis para yum e apt. A seguir estão alguns comandos Ad-hoc usando yum.
O comando a seguir verifica se o pacote yum está instalado ou não, mas não o atualiza.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = present"
O comando a seguir verifica se o pacote não está instalado.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = absent"
O comando a seguir verifica se a versão mais recente do pacote está instalada.
$ Ansible abc -m yum -a "name = demo-tomcat-1 state = latest"
Coletando Fatos
Os fatos podem ser usados para implementar declarações condicionais no manual. Você pode encontrar informações ad hoc de todos os seus fatos por meio do seguinte comando Ad-hoc -
$ Ansible all -m setup