it-swarm-pt.tech

O RHEL / CentOS executa todos os arquivos cronjob em /etc/cron.d/*, ou apenas alguns deles?

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.

19
Stefan Lasiewski

(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.

20

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.

6
Stefan Lasiewski

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.

5
mlschechter