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

19

Este é um sistema Red Hat Enterprise Linux 5 (RHEL). Nós gerenciamos este sistema usando o CFengine.

Temos vários cronjobs que estão sendo executados duas vezes mais do que o normal. Eu verifiquei o cronjobs em /etc/cron.d/ e esse diretório contém o script real chamado host-backup e também contém um arquivo de backup cfengine chamado host-backup.cfsaved , assim:

/etc/cron.d/host-backup
/etc/cron.d/host-backup.cfsaved

Esse sistema operacional executa todos os arquivos em /etc/cron.d/* ou só executa arquivos que correspondem a um determinado padrão. Posso configurar isso e onde isso é definido?

Não consigo encontrar essa resposta na documentação do RHEL ou do CentOS.

    
por Stefan Lasiewski 08.12.2010 / 23:25

3 respostas

19

(Se você está pagando pelo suporte da Red Hat, você deve fazer este tipo de perguntas. É exatamente isso que você está pagando!)

De a página RHEL5 crontab(5) man :

If it exists, the /etc/cron.d/ directory is parsed like the cron spool directory, except that the files in it are not user-specific and are therefore read with /etc/crontab syntax (the user is specified explicitly in the 6th column).

(Existe uma maneira mais simples de ler as man pages do RHEL sem ter acesso a ele? Pelo menos desta maneira eu pude ver que este parágrafo é parte do patch da Red Hat, então não é um recurso padrão do Vixie Cron 4.1). / p>

Olhando para a fonte, vejo que os arquivos a seguir são ignorados: .* , #* , *~ . *.rpmnew , *.rpmorig , *.rpmsave . Então, sim, seus arquivos *.cfsaved são lidos além dos originais.

    
por 11.12.2010 / 13:11
6

Aqui está a resposta do suporte da RedHat:

Please be informed that all files under cron.d directory are examined and executed, it's basically an extension of /etc/crontab file (ie; same effect if you add the entries to /etc/crontab file)

Portanto, para responder à minha pergunta "Esse sistema operacional executa todos os arquivos em /etc/cron.d/* ou apenas executa arquivos que correspondem a um determinado padrão. Posso configurá-lo e onde isso é definido? "

Todos os arquivos em /etc/cron.d/* são executados (embora pareça que certas extensões de arquivos 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 manual que eu possa encontrar.

    
por 06.01.2011 / 01:47
5

Acho que a razão pela qual você teve dificuldade em rastrear a resposta é que não é uma questão específica da Red Hat. O problema que você está vendo é 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 à sua pergunta é "sim, todos os arquivos são executados". Isso não é algo que eu acho que possa ser configurado.

    
por 09.12.2010 / 03:08

Tags