usamos sssd
para autenticação remota. crond
precisa verificar os usuários disponíveis antes de executar os trabalhos e faz isso a cada 60 segundos.
sssd
padrão client_idle_timeout
é 60 segundos. então tivemos uma condição de corrida entre sssd
e crond
Nós só chegamos ao fim deste problema porque na versão 1.4.4-14
crond começou a ser um pouco mais detalhado sobre alguns erros.
* Thu Feb 5 12:00:00 2015 Tomáš Mráz <[email protected]> - 1.4.4-14
- add log message when getpwnam fails
Após a atualização para essa versão, começamos a ver o erro abaixo ao mesmo tempo em que um trabalho não seria executado:
[cron.err] crond[8654]: (user) ERROR (getpwnam() failed): Broken pipe
que nos trouxe a isso: link
e finalmente para isso: link
Issue:
sssd_be
terminated with SIGKILL due to getpwnam() returning EPIPE (ie. broken pipe) can cause crond to silently skip cron job entries.
A sugestão de solução no link acima foi adicionada à linha abaixo para /etc/sssd/sssd.conf
:
client_idle_timeout = 75
A alteração acima corrigiu o problema para nós e o cron não pula mais trabalhos.