Executando Scripts de Shell com o Ansible Cron
Um dos casos de uso comuns para o módulo cron do Ansible é executar scripts de shell em hosts remotos. Isso pode ser útil para automatizar várias tarefas, como manutenção do sistema, processamento de dados ou implantação de aplicativos.
Aqui está um exemplo de como usar o módulo cron para executar um script de shell em um host remoto:
- name: Executar um script de shell a cada minuto
cron:
name: Executar meu script
minute: "*/1"
job: /path/to/my/script.sh
user: myuser
Neste exemplo, o módulo cron é usado para criar uma tarefa cron que executa o script /path/to/my/script.sh a cada minuto. O parâmetro user é usado para especificar a conta de usuário na qual o script deve ser executado.
É importante notar que o script de shell deve estar presente no host remoto e acessível ao usuário especificado no parâmetro user. Você pode usar o módulo copy do Ansible para copiar o script para o host remoto antes de executá-lo.
Aqui está um exemplo de como usar o módulo copy para copiar um script de shell para um host remoto e, em seguida, usar o módulo cron para executá-lo:
- name: Copiar script para o host remoto
copy:
src: /local/path/to/script.sh
dest: /remote/path/to/script.sh
mode: "0755"
- name: Executar o script a cada minuto
cron:
name: Executar meu script
minute: "*/1"
job: /remote/path/to/script.sh
user: myuser
Neste exemplo, o módulo copy é usado para copiar o arquivo script.sh do sistema local para a localização /remote/path/to/script.sh no host remoto. O parâmetro mode é usado para definir as permissões do arquivo para tornar o script executável.
Depois que o script é copiado para o host remoto, o módulo cron é usado para criar uma tarefa cron que executa o script a cada minuto como o usuário myuser.
Usando o módulo cron do Ansible em combinação com o módulo copy, você pode facilmente automatizar a execução de scripts de shell em hosts remotos, facilitando a gestão e manutenção da sua infraestrutura.