Crontab user :s marche pas
Résolu
Symbol_Logic
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Symbol_Logic Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Symbol_Logic Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Crontab user :s marche pas
- User diag - Télécharger - Informations & Diagnostic
- User account control - Guide
- User is over quota - Forum Mail
- Boite mail over quota ✓ - Forum Mail
- User appdata - Guide
4 réponses
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
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
Manifestement, il y a un test qui n'a pas d'argument, il faudrait faire afficher les valeurs de $DIRECTORY et $OUTPUTFILE...
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