Cron é um spammer, como faço para impedi-lo?

17

Então, eu estou sendo preso com um spambot muito peculiar: cron.

Todos os dias, recebo o seguinte email:

/etc/cron.daily/apt:
FATAL -> Failed to fork.

O que estaria causando esse erro? Meu /etc/cron.daily/apté o mesmo que vem com a instalação padrão, então obviamente é outra coisa.

Não estou preocupado com o cron me enviar e-mails (pois isso me fornece muitos problemas / dados úteis). Eu só quero resolver o problema em questão.

Kaz Wolfe
fonte
24
Xkcd obrigatório.
Olivier Grégoire
4
@ OlivierGrégoire Eu cliquei nesta pergunta apenas porque quero ver o XKCD obrigatório
justhalf 15/09/16

Respostas:

33

O sistema está executando uma falta de memória?

Você pode dar uma olhada /var/log/syslogpara ver se recebe alguma OOMmensagem (Memória Cheia) durante a hora do dia em /etc/cron.daily/aptexecução.

/etc/cron.daily/apt é executado às 06:25, mas há um sono aleatório no script apt, por isso pode demorar até 1800 segundos depois

O comando free -mtambém poderá lhe dizer quanta memória livre você possui e vmstat 5poderá mostrar se você tem muita troca ou movimento de memória em andamento.

Se esse for o caso, você pode adicionar mais trocas , adicionar mais memória ou descobrir se há algum processo desnecessário em execução que consome toda a sua memória. (Uma reinicialização no caso de um vazamento de memória)

Executar o apt manualmente?

Você já tentou executar /etc/cron.daily/aptmanualmente para ver se consegue mais avisos / erros?

Se você estiver executando o Ubuntu 14.04 LTS, encontrará uma chamada para a random_sleepsub-rotina line 425. Adicione um #nesta linha para não dormir antes de uma corrida.

No Ubuntu 12.04 LTS é line 423. O Ubuntu 16.04 LTS não deve ter esse arquivo, tanto quanto eu posso ver.

Execute /etc/cron.daily/aptcomo root assim:

root@hostname:~# /etc/cron.daily/apt

Ou sudoassim:

username@hostname:~$ sudo /etc/cron.daily/apt

Pode haver alguns erros interessantes para indicar a direção certa ou tentar procurar /var/log/syslogalgo suspeito no arquivo.

Jorgen
fonte
Você pode obter ainda mais informações executando o script com o rastreamento em:sudo sh -x /etc/cron.daily/apt
arielf