Un souci de crontab

Salutations,

j’ai un serveur de Supervision qui contient plusieurs outils en tests.

nagios, munin, cacti, webmin, etc.

Il est sous Debian 7.

La mailq de EXIM4 se remplit des messages pour root, et je suis obligé de la vider régulièrement.

Donc, j’ai fait un cron, toutes les minutes, qui vide la mailq.

Ce cron est le suivant:

crontab -l

Et le script est le suivant:

[code]#!/bin/bash

supprimer les messages en mailq

exiqgrep -o 60 -i | xargs exim -Mrm
#supprimer les messages frozen en mailq
exiqgrep -z -i | xargs exim -Mrm[/code]

Le script est en 755 et s’exécute très bien seul.
Mais le cron ne fait rien :frowning: la mailq se remplit sans cesse…

Auriez-vous une idée pour m’aider ?

Merci

[quote=“Necromago”]Salutations,

j’ai un serveur de Supervision qui contient plusieurs outils en tests.

nagios, munin, cacti, webmin, etc.

Il est sous Debian 7.

La mailq de EXIM4 se remplit des messages pour root, et je suis obligé de la vider régulièrement.

Donc, j’ai fait un cron, toutes les minutes, qui vide la mailq.

Ce cron est le suivant:

crontab -l

Et le script est le suivant:

[code]#!/bin/bash

supprimer les messages en mailq

exiqgrep -o 60 -i | xargs exim -Mrm
#supprimer les messages frozen en mailq
exiqgrep -z -i | xargs exim -Mrm[/code]

Le script est en 755 et s’exécute très bien seul.
Mais le cron ne fait rien :frowning: la mailq se remplit sans cesse…

Auriez-vous une idée pour m’aider ?

Merci[/quote]

Il n’y a aucun message dans les logs à exploités ?

Quel est l’utilisateur de la CRON ?

[quote=“Clochette”]Il n’y a aucun message dans les logs à exploités ?

Quel est l’utilisateur de la CRON ?[/quote]

Je regardais dans ./syslog : le CRON apparaît bien, mais la mailq est toujours pleine.

Après, je n’ai pas re-dirigé le résultat de mon cron dans un fichier log.
Je vais le faire afin d’y voir plus clair et le copier-coller ici.

ÉDIT:
Contenu du log:

/usr/local/bin/vider_mailq.sh: ligne4: exiqgrep : commande introuvable xargs: exim: Aucun fichier ou dossier de ce type /usr/local/bin/vider_mailq.sh: ligne7: exiqgrep : commande introuvable xargs: exim: Aucun fichier ou dossier de ce type etc.
Ce qui est bizarre car en lançant le script directement par ceci :

/usr/local/bin/vider_mailq.sh

Cela fonctionne :frowning:

Et le CRON est lancé dans la crontab de root.

Bonjour,

Le PATH doit être différent dans le contexte cron. Ajoute l’emplacement des exécutables dans le PATH au début de ton script (ou utilise les chemins complètes des exécutable).

Merci !!!

J’ai modifié le code comme suit:

[code]#!/bin/bash

supprimer les messages en mailq

/usr/sbin/exiqgrep -o 60 -i | xargs /usr/sbin/exim -Mrm
#supprimer les messages frozen en mailq
/usr/sbin/exiqgrep -z -i | xargs /usr/sbin/exim -Mrm[/code]

Et ça fonctionne !!!