Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb avec la crontab

1 réponse
Avatar
sterver
Salut à tous,

J'ai un pb avec l'execution d'un script depuis la crontab user.
Voila le script en question:

#! /bin/sh
#For Broadcast Traffic
/xdds/lien/showstat -b -t -w7 |grep / > /xdds/simon/broad
/xdds/lien/showstat -b -t -w7 |grep 23: >> /xdds/simon/broad

#For P2P traffic
/xdds/lien/showstat -p -t -w7 |grep / > /xdds/simon/p2p
/xdds/lien/showstat -p -t -w7 |grep 23: >> /xdds/simon/p2p

echo "For broadcast Traffic:"
cat /xdds/simon/broad
echo ""
echo "-------------------------"
echo "For P2P traffic:"
cat /xdds/simon/p2p

Ce script fonctionne sans probleme si je l'execute depuis mon compte,
et me renvoie les résultats attendus. Par contre, si je l'execute
depuis la crontab user, le script ne me renvoie que le résultat de
l'echo, mais aucune données depuis showstat.
Ma crontab n'execute que les fonctions basique d'unix telles que echo,
cat, more, sort, etc...

J'ai bien vérifié de n'être pas dans cron.deny!

Si quelqu'un a une idée, je suis preneur
Simon

1 réponse

Avatar
David LE BOURGEOIS
Simon wrote:
Salut à tous,

J'ai un pb avec l'execution d'un script depuis la crontab user.
Voila le script en question:

#! /bin/sh
#For Broadcast Traffic
/xdds/lien/showstat -b -t -w7 |grep / > /xdds/simon/broad
/xdds/lien/showstat -b -t -w7 |grep 23: >> /xdds/simon/broad

#For P2P traffic
/xdds/lien/showstat -p -t -w7 |grep / > /xdds/simon/p2p
/xdds/lien/showstat -p -t -w7 |grep 23: >> /xdds/simon/p2p

echo "For broadcast Traffic:"
cat /xdds/simon/broad
echo ""
echo "-------------------------"
echo "For P2P traffic:"
cat /xdds/simon/p2p

Ce script fonctionne sans probleme si je l'execute depuis mon compte,
et me renvoie les résultats attendus. Par contre, si je l'execute
depuis la crontab user, le script ne me renvoie que le résultat de
l'echo, mais aucune données depuis showstat.


Les variables spécifiques à showstat me semblent absentes dans
l'environnement de la crontab.

Ma crontab n'execute que les fonctions basique d'unix telles que echo,
cat, more, sort, etc...


Faux. Cron n'exécute que ce qu'on lui demande. Il suffit de lui dire
correctement. Il ne faut pas oublier que l'environnement de la crontab
n'est pas le même que celui du shell utilisateur.


J'ai bien vérifié de n'être pas dans cron.deny!

Si quelqu'un a une idée, je suis preneur


Je pense qu'il y a un problème de variables d'environnement.
Compare l'exécution de la commande env, dans la crontab, puis dans le
shell courant utilisateur. Je parie que des variables, dont le programme
a besoin, ne sont pas présentes dans le deuxième cas.

A plus,
David.