Crontab user :s marche pas

Résolu/Fermé
Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008 - 29 avril 2008 à 12:34
Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008 - 1 mai 2008 à 00:23
Bonjour,

Je suis actuellement entrain d'essayer de lancer un script ksh sur Solaris périodiquement par crontab exemple, avec un utilisateur "user".


quand je met :
user> crontab -l user
* * * * * /in/sfp/tmp/dbsmp/dbsmp.ksh >> /dev/null 2>&1
* * * * * /in/sfp/tmp/dbsmp/Remove_old_files.sh > /dev/null 2>&1


mais ça n donne rien, aucun fichier n'est générer !! Même si le script marche parfaitement pour le même user si je l'exécute directement.


Merci
A voir également:

4 réponses

blux Messages postés 26303 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 septembre 2024 3 300
29 avril 2008 à 12:44
Salut,

y'a un grand classique avec cron, c'est que tes variables d'environnement sont plus ou moins renseignées quand tu lances une commande, c'est généralement pour ça que ça marche en ligne mais que ça ne marche plus en cron.

Première chose : envoyer les résultats de la commande dans un log, ça signale 99,9% des erreurs...

* * * * * /in/sfp/tmp/dbsmp/dbsmp.ksh >> /tmp/cronlog 2>&1
0
Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008
29 avril 2008 à 12:56
Merci pour votre réponse =)

sur le /tmp/cronlog voila ce que j'ai :

/in/smf/tmp/dbsmp/dbsmp.ksh: test: argument expected :s

A+

voila mon scipt :

"/in/smf/tmp/dbsmp/dbsmp.ksh" 43 lines, 1430 characters
#!/bin/ksh

IN_ID="OSP";
DIRECTORY="/in/smf/tmp/dbsmp";
BEGIN_FILENAME="${IN_ID}_SLEE_DBSMP_"

InitOutput()
{
if [ ! -d $DIRECTORY ]
then
/usr/bin/mkdir -m 777 $DIRECTORY
fi
if [ -f $OUTPUTFILE ]
then
return 1;
else
echo "file header"
return 1;
fi
return 0;
}

Init()
{
InitOutput
numero=0;
Today=`date '+%m%d%y%n'`
WTII=`date '+%H:%M:%S'`
OUTPUTFILE="${DIRECTORY}/$BEGIN_FILENAME$Today";
}

Init
ORACLE_SID=SMP;export ORACLE_SID; /in/oracle/bin/sqlplus ppssdprdc11/ppssdprdc11@PSMF.world @/in/smf/tmp/dbsmp/sqldbsmp.sql

while read line
do
case $numero in
3*) echo "$WTII Activate: $line";;
8*) echo "$WTII Inactivate : $line";;
13*) echo "$WTII Valide : $line";;
esac
numero=$(($numero+1))
done < temp2.txt >> $OUTPUTFILE



Merci
0
blux Messages postés 26303 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 septembre 2024 3 300
29 avril 2008 à 13:02
Manifestement, il y a un test qui n'a pas d'argument, il faudrait faire afficher les valeurs de $DIRECTORY et $OUTPUTFILE...
0
Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008
29 avril 2008 à 13:12
=)

wep vous avez raison quand je met echo $DIRECTORY; echo $OUTPUTFILE dans le script, sur le cronlog j'ai :

1° /in/smf/tmp/dbsmp

3° /in/smf/tmp/dbsmp/dbsmp.ksh: test: argument expected


(le vide signifie que OUTPUTFILE ne contient rien :s)


mé que faire

MErci
0
blux Messages postés 26303 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 septembre 2024 3 300 > Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008
29 avril 2008 à 13:20
Corriger, mais je ne suis pas fort en script shell...
0
Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008
29 avril 2008 à 13:22
Merci co mm
0
Symbol_Logic Messages postés 14 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 19 mai 2008
1 mai 2008 à 00:23
voila =)
j'ai peut etre peu cherché alors ke la solution se trouve juste la :

http://www.commentcamarche.net/forum/affich 5291726 executer un fichier script sql avec vb net
0