Para desabilitar completamente as tarefas do cron, você pode simplesmente desativar o daemon cron
(geralmente é crond
no CentOS e cron
no servidor Ubuntu).
Você pode parar e iniciá-lo diretamente na corrida de sal.
Se você precisar desabilitar a execução do cron apenas para alguns cron jobs específicos, basta criar um script (vamos chamá-lo de run-crons
) e usá-lo para desabilitar somente execuções específicas do cron. Por exemplo, você pode criar uma entrada cron similar a:
* * * * * root run-crons && echo "this is my actual cron job"
com o script run-crons
semelhante a
#!/bin/bash
set -e
[ -f /etc/disabled/crons ] && exit 10
exit 0
, portanto, se o /etc/disabled/crons
existir, essas linhas de cron específicas precedidas por run-crons
não serão executadas.
Você pode criar / remover o arquivo de desativação também durante a execução de salt
Para parar o daemon cron
quando o salt run, inclua apenas um estado com algo como:
stop_cron:
service.dead:
- name: cron
- order: 1
start_cron:
service.running:
- name: cron
- order: last
Você pode precisar ajustar o nome do daemon cron dependendo da sua distribuição linux
Para o caminho run-crons
, inclua um .sls com algo como:
disable_cron:
file.managed:
- name: /etc/disabled/cron
- replace: false
- order: 1
enable_cron:
file.absent:
- name: /etc/disabled/cron
- order: last