Por que o cron parou de processar comandos? [duplicado]

1

Meu cronômetro do Solaris 11 parece ter parado de funcionar.

Aqui está a última saída de uma tarefa cron executada:

-rw-r--r--   1 root     root          60 Jul  2 20:30 locked_passwords.txt

Eu configurei um teste assim:

* * * * * touch /tmp/testing.txt

Nunca toca no arquivo

Eu verifiquei se o serviço está sendo executado:

svcs cron
STATE          STIME    FMRI
online         Mar_09   svc:/system/cron:default

Eu transcrevo o arquivo e vejo isso:

root   532     1   0   Mar 09 ?           3:08 /usr/sbin/cron
pfexec truss -f -p 532
532:    pollsys(0xFC7FC1A8, 1, 0xFC7FC750, 0x00030414) (sleeping...)

O meu processo do cron está dormindo? porque?

ATUALIZAÇÃO: Eu reiniciei o cron 2 vezes e ele continua a parar. A maioria do meu log lê:

! c queue max run limit reached Mon Jul 24 12:53:00 2017 
! rescheduling a cron job Mon Jul 24 12:53:00 2017 
! c queue max run limit reached Mon Jul 24 12:53:00 2017 
! rescheduling a cron job Mon Jul 24 12:53:00 2017 
! c queue max run limit reached Mon Jul 24 12:53:00 2017 
! rescheduling a cron job Mon Jul 24 12:53:00 2017 

Como faço para diagnosticar esta situação?

    
por Marinaio 19.07.2017 / 17:43

2 respostas

1

Você verificou / var / cron / log? Talvez a conta esteja bloqueada ou adicionada ao cron.deny?
Existe um arquivo .au correspondente em / var / spool / cron / crontabs? Historicamente, esse arquivo era necessário para que os trabalhos fossem executados. Uma vez que é criado por crontab -e , geralmente só está faltando se um arquivo cron foi copiado para um novo servidor. Possível problema com o script / binário sendo chamado?

O daemon do cron geralmente está dormindo enquanto aguarda quando funciona.

Se você estiver usando a versão 11.3, também pode procurar usar um serviço agendado no caso de ser mais útil para as suas necessidades?

    
por 19.07.2017 / 21:25
0

RESOLVIDO !!!

/ var / cron / log não resolveu meu problema, mas me apontou na direção certa. No log eu vi muita

c limite de execução da fila max atingido Qui 27 de maio 15:45:01 2010 [[fila "c" é para o cron]]

/etc/cron.d/queuedefs era o mesmo que todos os meus outros servidores, então esse não era o problema.

Aqui está o que eu fiz. ps -ef | grep cron ptree <PID> pgrep -f '/export/script.sh' # verify the listing before proceeding pkill -9 -f '/export/script.sh' ** Now cron is running again **

Eu vi centenas de scripts.sh se acumulando.

script.sh se conecta a um banco de dados e agora estou solucionando uma alteração feita nesse script. No entanto, o cron agora está sendo executado novamente.

obrigado

    
por 25.07.2017 / 20:00