Mettre un script perl dans la crontab

Bonjour ,
j’ai un probleme avec un script perl que je n’arrive pas a automatisé.
En effet, il semble ne pas s’executer pourtant le demon crond montre bien que le scipt a été lancé

voici une extrait crontab

*/5 * * * * /usr/local/number.pl 1>&2 >> /var/log/number.log

voici extrait log cron

Jun 19 02:18:00 kgateway CROND[24482]: (root) CMD (/usr/local/number.pl 1>&2 >> /var/log/number.log)

ça fait des heures que je cherche une reponse a ce probleme qui apparement est assez connu, mais dont la solution
n’est pas assez documenter.

je tourne sous redhat AS 3

bonjour,
Aucune raison pour cela ne fonctionne pas
Premiere chose à faire, verifier que la commande ‘/usr/local/number.pl 1>&2 >> /var/log/number.log’ fonctionne dans un shell, as tu testé ?
Et sinon est ce que le fichier de log reçoit des entrées ?

Juste comme ça, je suis une buse en shell, mais 1>&2 tu rediriges stdout sur stderr, du coup tu vas pas avoir grand chose dans ton fichier de log, c’est pas plutôt 2>&1 que tu voulais ?

+1

pas mieux.
Et comme dit doumdoum, copie colle ta ligne du crontab dans le shell. Le crontab ne fait que lancer dans un shell la ligne de commande aux heures dites. Donc commence par verifier hors crontab si ca marche.

Dernier point a checker : tu as vérifier que tout est bien configuré pour le .pl soit exécuté par perl ?

En passant, la blague classique qui empèche le shell script de s’exécuter : le CRLF. Si un fichier perl/bash/whatever a été édité depuis une machine sous Windows, bien penser à le sauvegarder en mode Unix avec juste des \n et pas \r\n. Sinon ça marche pas.

J’ai essayé toute source de script perl jusqu’aux plus simples , j’ai essayé avec un script shell wrapper qui execute /root/.bash_profile

cependant rien ne marche

[quote=“aliaz, post:7, topic: 47831”]J’ai essayé toute source de script perl jusqu’aux plus simples , j’ai essayé avec un script shell wrapper qui execute /root/.bash_profile

cependant rien ne marche[/quote]
Ca marche pas, c’est à dire ? Une erreur quand tu executes le script ? Il faut la deviner ?

[quote=“aliaz, post:7, topic: 47831”]J’ai essayé toute source de script perl jusqu’aux plus simples , j’ai essayé avec un script shell wrapper qui execute /root/.bash_profile

cependant rien ne marche[/quote]

Tu as essayé avec un simple script shell genre

#!/bin/bash
echo debug de fou >>/tmp/debug.log

et de le mettre en cron ?

Si ça, ça fonctionne pas, le problème doit être autour du daemon de crontab qu’il faut grailler.

Un simple:

*/5 * * * * echo un autre debug de fou >> /tmp/debug.log

fonctionne ?

Tu edites le crontab de root ou d’un utilisateur “normal” ?