crontab De repente parou de funcionar

2

Ok, então aqui está o meu problema, recentemente atualizei meu servidor e alterei alguns arquivos jsp que são usados para fazer anúncios automáticos. O crontab tem todos os arquivos .sh listados nele e os arquivos .sh executam os arquivos jsp para exibir os anúncios.

Depois de terminar de atualizar os arquivos jsp, reiniciei o servidor e, desde então, os anúncios pararam de ser executados. Eu posso executar os arquivos .sh via massa manualmente e eles funcionam perfeitamente bem, então as mudanças que eu fiz nos arquivos jsp não são o problema.

Eu fiz alguma pesquisa antes de postar aqui e verifiquei o syslog para as entradas do cron. Até o ponto em que reiniciei meu servidor, o serviço cron estava funcionando como deveria. Desde a reinicialização não houve entradas no syslog para o cron.

Eu tentei reiniciar o servidor novamente, eu também tentei reiniciar o serviço cron, eu também tentei parar o serviço completamente e iniciá-lo novamente sem nenhum efeito. Eu não consigo descobrir porque o serviço cron iria de repente parar de funcionar, pois nada a ver com o cron ou qualquer um dos arquivos operacionais foram tocados durante a atualização do meu servidor.

Alguém tem alguma sugestão de por que pode ter parado de funcionar? Estou usando o Ubuntu Server 11.10

    
por DaMadBoy 12.08.2012 / 18:06

2 respostas

2

1. Anote todas as tarefas cron para todos os usuários, incluindo root , por exemplo:

Para listar o crontab da raiz

sudo crontab -l

Para listar seu crontab

crontab -l

2. Exclua o crontab completo para todos os usuários usando o seguinte

Para excluir o crontab da raiz

sudo crontab -r

Para excluir seu crontab

crontab -r

3. Reinicie o sistema

4. Coloque seus trabalhos de volta no cron (de preferência, o cron do root), seja criando um arquivo de texto e apontando o cron para esse arquivo ou manualmente.

Para configurar manualmente

sudo crontab -e

Para apontar o cron para um arquivo de texto

sudo crontab <filename>

Logicamente, de preferência, inserido na ordem de ocorrência. Por exemplo, se você tem um trabalho que é executado antes de outro lugar (no tempo) acima.

Lembre-se que o arquivo cron ou crontab deve ter entradas no seguinte formato

m h dom mon dow full path command

Por exemplo, o desligamento às 14h30 de cada dia da semana, exceto nos fins de semana, seria

30 14 * * 2,3,4,5,6 /sbin/shutdown

Outro exemplo executa um arquivo de script (test.sh - localizado na pasta / usr / local / myScripts) toda segunda-feira às 2:00 da manhã seria

0 2 * * 2 /usr/local/myScripts/test.sh

Eu tive o mesmo problema com o cron, uma vez e lembro-me de ler em um fórum que precisamos excluir o cron do usuário e reiniciar o sistema, em seguida, recriá-lo.

    
por exIT Solutions 13.08.2012 / 06:52
0

Se o seu script estiver sendo executado a partir do terminal interativo, mas não do crontab, isso é típico de um problema de ambiente.

O Cron executa seus programas com um ambiente quase vazio.

No seu crontab, tente adicionar >/tmp/script.log 2>&1 no final dos seus scripts para capturar os erros em um arquivo de log.

Você também pode tentar executar o script com env -i para garantir que eles sejam executados corretamente com um ambiente vazio. ( env -i /you/script.sh )

Você pode ter que adicionar algumas entradas na variável de ambiente PATH.

    
por Marc M 12.08.2012 / 18:36