Scripts em execução com o módulo Cron Ansible

Scripts em execução com o módulo Cron Ansible
Ansible é uma ferramenta simples usada para automatizar várias tarefas e processos manuais de TI. Ele atua como um gerente de nó sobre o SSH e pode compartilhar automação em organizações inteiras, como tarefas diárias automatizadas, instalação de software, implantação, gerenciamento de configuração e muito mais.

Módulos Ansible

Ansible contém módulos que são um pedaço do script executado por Ansible em nome do usuário para interagir com o sistema e executar tarefas específicas envolvendo cheques ou automação. Esses módulos podem interagir com um sistema remoto ou local para fazer alterações desejadas. Ansible contém um grande conjunto de módulos, bem mais de 800.

Neste artigo, lançamos alguma luz sobre o módulo Cron e seu uso. Este módulo, ao lado de outros, pode ser usado na CLI (terminal) ou em uma tarefa de manual. Deve -se notar que os módulos podem ser escritos em qualquer editor de texto da escolha dos usuários, desde que eles suportem o formato YAML e retorne os dados do formato JSON.

Módulo Cron

Em vários sistemas operacionais Linux, um Cron é uma ferramenta usada para executar um conjunto de scripts ou comandos em um horário predefinido. Esta execução programada é frequentemente chamada de “trabalho de cron.”

Este módulo pode ser usado como uma ferramenta independente no Linux sem a necessidade de Ansible; No entanto, para facilitar o usuário em termos de provisão e plataforma, o Ansible é o preferido, pois pode facilitar nossa acessibilidade, dando -nos toneladas de outros recursos na forma de vários módulos.

Por exemplo, para gerenciar vários trabalhos de Cron, teríamos que escrever o código manualmente no terminal; No entanto, com Ansible, podemos nos livrar do trabalho tedioso e reduzir substancialmente os erros usando o manual para configurar os trabalhos Cron para servidores que desejamos configurar.

Como mencionado anteriormente, Ansible usa módulos no terminal ou no manual. O módulo Cron pode gerenciar entradas do Crontab usando o manual.

O módulo Cron gerencia o crontab, especificamente as entradas de Crontab. Possui vários parâmetros, que são discutidos brevemente abaixo.

Parâmetros

String como um nome: Esta é a string que atua como um nome para um determinado crontab. Este parâmetro deve ser único. Caso não esteja, teremos nossa tarefa anterior sendo substituída pelos mais novos com o mesmo nome.

String como um estado: Esta string especifica se o recurso está presente ou ausente. Por exemplo, queremos remover uma tarefa antiga que não seja mais necessária. Podemos remover o trabalho prefixado como "#ansible: trabalho anterior" do nosso Crontab. Agora o estado aparecerá como ausente.

String como um trabalho: Esta string geralmente é o comando que estamos prestes a executar. Não é necessariamente necessário se nosso estado estiver ausente; No entanto, no caso de um estado atual, precisamos da entrada de emprego em nosso Crontab. Esta string não pode ter espaços.

String como usuário: Esta string é para o usuário específico cujo crontab deve ser modificado.

Tempo: Esta string inclui o carimbo de data e hora contendo vários parâmetros relacionados ao tempo como uma semana, dia, mês, ano, hora, minuto. Sua entrada pode ser escrita como "0,7,6 ** ls-anh>/dev/null" para implicar que o trabalho seja executado nas 6 e 7 horas.

Tempo especial. Este parâmetro contém valores de tempo especiais, como anualmente, semanalmente, a cada hora, mensalmente, reiniciar, etc., para tornar os empregos mais periódicos.

Exemplos

Vamos fazer uma nova entrada em nosso sistema Linux como um manual Ansible.

$ CD ~
$ mkdir Ansible-Workspace
$ CD Ansible-Workspace

Em seguida, nomeamos nosso livro Ansible (deve -se notar que o manual tem .Extensão Yaml).

$ vim crontest.yml

Com isso, o seguinte deve abrir.

Agora que estamos no manual, podemos adicionar o seguinte conteúdo.

-Hosts: todos
tornar verdade
tarefas:
-Nome: “Demonstração de Cronmodule”
Ansible.construídas em.Cron
Nome: “Teste”
Estado: presente
dia da semana: “*”
mês: "*"
dia: "*"
hora: "*"
minuto: “*”
Trabalho: “cache = limpo”

Agora, execute este manual digitando o seguinte comando no shell Linux:

Livro de teste Ansible-PlayBook.yml

O código descrito acima usa Cronjob para agendar um horário específico para realizar seu trabalho. Nesse caso, o trabalho é limpar os dados de aplicativos em segundo plano. Essa memória é chamada de cache e é aconselhável limpá -la regularmente, para que nosso sistema possa executar sem qualquer carga desnecessária. O Cronjob descrito acima tem hosts definidos para “todos.”Isso significa que todos os sistemas remotos terão o cronjob executado neles, e a condição permanece verdadeira enquanto o manual estiver sendo executado.

A terceira linha descreve a tarefa do Cronjob, o nome da tarefa é exibido como "demonstração de Cronjob", que aparecerá no log de execução Ansible. A próxima linha exibe o módulo interno “Ansible. construídas em.cron ”

Várias seqüências de tempo são marcadas como "*", que denota a operação padrão de Cron. Os dados acima mostram que o Cronjob será realizado na quarta -feira às 5 da manhã do mês atual; O trabalho está limpando o cache.

Vantagens

O módulo Cron oferece várias vantagens para nós, incluindo.

  • Nenhuma memória de ocupação durante a corrida.
  • Transferência mais fácil de controle para o usuário quando Cronjob está executando.
  • Mesmo que o Cronjob não seja executado por algum motivo desconhecido, ele iniciará tudo de novo dentro da string de tempo designada.

Conclusão

Neste artigo, analisamos o módulo Cron para Ansible, responsável pelos horários de vários trabalhos que queremos atribuir ao nosso sistema. É um comando principal importante quando se trata de automatizar vários trabalhos em um prazo específico. Esperamos que você tenha conseguido entender o funcionamento do módulo Cron e limpar suas perguntas depois de ler este artigo.