Este é um sistema Red Hat Enterprise Linux 5 (RHEL). Gerenciamos esse sistema usando o CFengine.
Temos vários cronjobs que são executados duas vezes mais que o normal. Eu verifiquei os cronjobs em /etc/cron.d/
e este diretório contém o script real chamado Host-backup
e também contém um arquivo de backup cfengine chamado Host-backup.cfsaved
, da seguinte forma:
/etc/cron.d/Host-backup
/etc/cron.d/Host-backup.cfsaved
Este sistema operacional executa todos os arquivos em /etc/cron.d/*
, ou executa apenas arquivos que correspondem a um determinado padrão. Posso configurar isso e onde isso é definido?
Não consigo encontrar esta resposta na documentação do RHEL ou CentOS.
(Se você está pagando pelo suporte da Red Hat, faça a eles esse tipo de pergunta. É exatamente pelo que está pagando!)
De a página de manual RHEL5 crontab(5)
:
Se existir, o
/etc/cron.d/
_ diretório é analisado como o diretório de spool cron, exceto que os arquivos nele não são específicos do usuário e, portanto, são lidos com/etc/crontab
sintaxe (o usuário é especificado explicitamente na 6a coluna).
(Existe uma maneira mais simples de ler as páginas de manual do RHEL sem ter acesso a ela? Pelo menos dessa maneira eu pude ver que este parágrafo faz parte do patch da Red Hat, por isso não é um recurso padrão do Vixie Cron 4.1.)
Observando a fonte, vejo que os seguintes arquivos foram ignorados: .*
, #*
, *~
. *.rpmnew
, *.rpmorig
, *.rpmsave
. Então sim, seu *.cfsaved
_ os arquivos são lidos além dos originais.
Aqui está a resposta do suporte RedHat:
Por favor, esteja ciente de que todos os arquivos no diretório cron.d são examinados e executados, é basicamente uma extensão do arquivo/etc/crontab (ou seja, o mesmo efeito se você adicionar as entradas ao arquivo/etc/crontab)
Portanto, para responder à minha pergunta "Este sistema operacional executa todos os arquivos em /etc/cron.d/* ou apenas executa arquivos que correspondem a um determinado padrão. Posso configurar isso e onde é definido?"
Todos os arquivos em /etc/cron.d/* são executados (embora pareça que certas extensões de arquivo, como .rpmsave, * ~, etc, sejam ignoradas, de acordo com a documentação nos arquivos de origem). Não é possível configurar isso através de um arquivo de configuração. Configurar isso provavelmente é possível se a fonte for recompilada. Esse comportamento é mencionado na documentação contida na fonte, mas não aparece em nenhum manual ou página de manual que eu possa encontrar.
Acho que o motivo pelo qual você teve dificuldade em localizar a resposta é que não é uma pergunta específica da Red Hat. O problema que você está vendo faz parte da funcionalidade padrão de cron
- cada arquivo no diretório que você identifica é automaticamente tratado como um trabalho separado .
Portanto, a resposta curta para sua pergunta é "sim, todos os arquivos são executados". Acho que isso não pode ser configurado.