OVH Cloud OVH Cloud

Encore crontab !

6 réponses
Avatar
Samuel
Bonjour,

Après plusieurs heures à éplucher google, je n'ai pas de réponse alors
je vous expose mon problème :

Debian 3.0 r2 / noyau 2.4.23 / exim 3 / mailscanner / f-prot

J'ai mis dans crontab une commande pour faire la MAJ des définitions de
virus :

35 14 * * * root /usr/local/f-prot/tools/check-updates.pl

Celle-ci fonctionne, mais depuis quelques jours, la sortie STDOUT ne me
parvient plus par mail (résultat de la MAJ donc), alors que syslog me
confirme l'exécution du script. Voici le rapport d'exim :

2004-02-18 09:00:01 1AtMcj-00082U-00 <= root@zoe.domaine.local U=root
P=local S=679
2004-02-18 09:00:01 1AtMcj-00082U-00 == root@zoe.domaine.local
D=defer_director defer (-1): forced defer: All deliveries are deferred
2004-02-18 09:00:01 1AtMcj-00082U-00 ** root@zoe.domaine.local: retry
timeout exceeded
2004-02-18 09:00:01 1AtMcj-000832-00 <= <> R=1AtMcj-00082U-00 U=mail
P=local S=1504
2004-02-18 09:00:02 1AtMcj-000832-00 == root@zoe.domaine.local
D=defer_director defer (-1): forced defer: All deliveries are deferred
2004-02-18 09:00:02 1AtMcj-000832-00 ** root@zoe.domaine.local: retry
timeout exceeded
2004-02-18 09:00:02 1AtMcj-000832-00 root@zoe.domaine.local: error ignored
2004-02-18 09:00:02 1AtMcj-000832-00 Completed
2004-02-18 09:00:02 1AtMcj-00082U-00 Error message sent to
root@zoe.domaine.local
2004-02-18 09:00:02 1AtMcj-00082U-00 Completed

- Dans mon fichier /etc/aliases j'ai bien la ligne :
root: samuel
- Je peux sans prob envoyer des mails à root qui sont redirigés vers
'Samuel' en mode console.
- Si dans crontab je rajoute la directive : MAILTO=samuel la sorie
STDOUT est bien redirigée sur mon mail.
- Je rappelle que cela a fonctionné plusieurs jours et d'un seul coup
plus rien.

Quelqu'un aurait une idée sur cette erreur de redirection de STDOUT vers
le mail root ?

Merci d'avance.
Samuel.

6 réponses

Avatar
Thomas Nemeth
Le mer 18 fév 2004 à 12:46, Samuel a tapoté :
| Bonjour,

Bonjour.


| 35 14 * * * root /usr/local/f-prot/tools/check-updates.pl
|
| Celle-ci fonctionne, mais depuis quelques jours, la sortie STDOUT ne me
| parvient plus par mail (résultat de la MAJ donc),

As-tu mis MAILTO à "" ?
As-tu essayé
35 14 * * * root [...]check-updates.pl | mail machin -s "update"


| - Je peux sans prob envoyer des mails à root qui sont redirigés vers
| 'Samuel' en mode console.

En mode /texte/. Quel est le rapport avec le mode texte ? Ça le fait
aussi en mode graphique.


| - Si dans crontab je rajoute la directive : MAILTO=samuel la sorie
| STDOUT est bien redirigée sur mon mail.
| - Je rappelle que cela a fonctionné plusieurs jours et d'un seul coup
| plus rien.

Ah. Un upgrade de sécu entre temps :) ?


| Quelqu'un aurait une idée sur cette erreur de redirection de STDOUT vers
| le mail root ?

Que donne la commande 'mail' sous root : le fichier /var/mail/root
est-il vide ou plein ?


| Merci d'avance.

Avec plaisir.


Thomas
--
BOFH excuse #43:
Boss forgot system password.
Avatar
Samuel
Bonjour et merci de m'aider,

As-tu mis MAILTO à "" ?
Il me semble que cette commande sert justement à ne pas envoyer de mail,

hors moi j'en veux ;-)

As-tu essayé
35 14 * * * root [...]check-updates.pl | mail machin -s "update"
BINGO !!! Ca a marché !

Là je comprends vraiment pas pourquoi ça marche avec cette commande ...
c'est quoi la différence ?

En mode /texte/. Quel est le rapport avec le mode texte ? Ça le fait
aussi en mode graphique.
Je pensais aussi peut-être à un prob de PATH et autres


Ah. Un upgrade de sécu entre temps :) ?
Ben oui, mais pti à pti ... j'vous jure m'sieur !


Que donne la commande 'mail' sous root : le fichier /var/mail/root
est-il vide ou plein ?


En fait la conf de base d'exim interdit l'utilisation de root :
"never_users"=root et justement le fichier /etc/alias devrait rediriger
les mails vers root vers le compte souhaité.

Merci beaucoup pour cette aide ... par contre je ne comprends pas
pourquoi ta commande fonctionne et ce qui bloque dans mon crontab.

Samuel.

Avatar
Thomas Nemeth
Le mer 18 fév 2004 à 13:33, Samuel a tapoté :
| Bonjour et merci de m'aider,
|
| > As-tu mis MAILTO à "" ?
| Il me semble que cette commande sert justement à ne pas envoyer de mail,

Tout à fait.


| hors moi j'en veux ;-)

C'est pourquoi il fallait vérifier :)
As-tu essayé avec MAILTO=root à tout hasard ?


| > As-tu essayé
| > 35 14 * * * root [...]check-updates.pl | mail machin -s "update"
| BINGO !!! Ca a marché !
| Là je comprends vraiment pas pourquoi ça marche avec cette commande ...
| c'est quoi la différence ?

Bin... Au lieu d'envoyer la sortie à cron, la sortie est
pipée sur mail et le mail est envoyé avec ça, ainsi cron ne
récupère aucune sortie.

Je pense que ta version de cron a été sécurisée...


| > Ah. Un upgrade de sécu entre temps :) ?
| Ben oui, mais pti à pti ... j'vous jure m'sieur !

... afin que les sorties de programmes utilisés par cron ne soient
pas automatiquement mailées.


| > Que donne la commande 'mail' sous root : le fichier /var/mail/root
| > est-il vide ou plein ?
|
| En fait la conf de base d'exim interdit l'utilisation de root :
| "never_users"=root et justement le fichier /etc/alias devrait rediriger
| les mails vers root vers le compte souhaité.

newalias a-t-il été lancé pour mettre à jour ?


| Merci beaucoup pour cette aide ... par contre je ne comprends pas
| pourquoi ta commande fonctionne et ce qui bloque dans mon crontab.

La commande mail envoie des mails car c'est son rôle :) Elle envoie
ce qu'elle reçoit au serveur SMTP qui, lui, fait la distribution
locale en fonction de sa config (root->samuel).

Si cron ne veut pas envoyer de mail pour une raison quelconque, tu
ne recevra forcément aucune sortie de programme :)


Thomas
--
BOFH excuse #75:
There isn't any problem.
Avatar
Cem
Le 18-02-2004, Samuel a écrit :
En fait la conf de base d'exim interdit l'utilisation de root :
"never_users"=root et justement le fichier /etc/alias devrait rediriger
les mails vers root vers le compte souhaité.
/etc/alias ?

Chez moi, exim utilise le fichier /etc/aliases, mais je ne suis pas sous
Debian...

Avatar
Samuel
Re-Bonjour,

C'est pourquoi il fallait vérifier :)
As-tu essayé avec MAILTO=root à tout hasard ?
Ca ne fonctionne pas.


Je pense que ta version de cron a été sécurisée...
Je vois pas trop ce que j'ai touché qui aurait pu faire ça !


newalias a-t-il été lancé pour mettre à jour ?
Oui mais ça ne change rien.


La commande mail envoie des mails car c'est son rôle :) Elle envoie
ce qu'elle reçoit au serveur SMTP qui, lui, fait la distribution
locale en fonction de sa config (root->samuel).

Si cron ne veut pas envoyer de mail pour une raison quelconque, tu
ne recevra forcément aucune sortie de programme :)


En fait ce qui m'échappait un peu c'est que DE BASE crontab doit
rediriger tout stdout vers le mail de l'utilisateur ... donc je
comprenais pas trop pourquoi il fallait rediriger explicitement la
commande du crontab vers un script 'mail' pour que ça marche.

Merci beaucoup pour ces explications.
Samuel.

Avatar
Samuel
Bonjour,

/etc/alias ?
Chez moi, exim utilise le fichier /etc/aliases, mais je ne suis pas sous
Debian...


il est vrai que j'ai été un peu vite à écrire le chemin ;-), c'est bien
sûr de /etc/aliases dont je voulais parler.

A+
Samuel.