web-dev-qa-db-fra.com

Cron est un spammeur, comment puis-je l'arrêter?

Donc, je suis coincé avec un spambot très particulier: cron.

Chaque jour, je reçois le courrier électronique suivant:

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

Quelle serait la cause de cette erreur? Mon /etc/cron.daily/apt est identique à celui fourni avec l'installation par défaut, c'est donc évidemment autre chose.

Je ne crains pas que Cron m'envoie des mails (cela me donne beaucoup de problèmes/données utiles). Je veux juste résoudre le problème actuel.

17
Kaz Wolfe

Le système fonctionne-t-il sans mémoire?

Vous pouvez consulter /var/log/syslog pour voir si vous recevez des messages OOM (mémoire insuffisante) à l’heure de la journée où /etc/cron.daily/apt est en cours d’exécution.

/etc/cron.daily/apt est exécuté à 06:25, mais il y a une veille aléatoire dans le script apt, de sorte qu'elle peut durer jusqu'à 1800 secondes plus tard.

La commande free -m sera également en mesure de vous dire combien de mémoire libre vous avez, et vmstat 5 pourra vous montrer si vous avez beaucoup de swapping ou de mouvement de mémoire en cours.

Si tel est le cas, vous pouvez envisager d'ajouter plus swap , d'ajouter plus de mémoire , ou trouvez si vous avez des processus inutiles en cours qui utilisent toute votre mémoire. (Un redémarrage dans le cas d'une fuite de mémoire)

Run apt manuellement?

Avez-vous essayé d'exécuter /etc/cron.daily/apt manuellement pour voir si vous pouviez ajouter d'autres avertissements/erreurs?

Si vous exécutez Ubuntu 14.04 LTS, vous trouverez un appel pour le sous-programme random_sleep sur line 425. Ajoutez un # sur cette ligne pour ne pas le mettre en veille avant une exécution.

Sur Ubuntu 12.04 LTS, il s'agit de line 423. Ubuntu 16.04 LTS ne devrait pas avoir ce fichier aussi loin que je peux voir.

Exécutez /etc/cron.daily/apt en tant que root, comme ceci:

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

Ou avec Sudo comme ceci:

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

Il pourrait y avoir des erreurs intéressantes pour vous indiquer la bonne direction, ou essayez de chercher dans le fichier /var/log/syslog quelque chose de suspect.

33
Jorgen