Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2007, 12h33   #1
Membre du Club
 
Inscription : juin 2006
Messages : 206
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 206
Points : 47
Points : 47
Par défaut cron qui tourne en boucle

Bonjour à tous,

Je me tourne vers vous pour une drole d'histoire.
Je précise que je suis débutant sous linux.

Je voudrais mettre en place un tache planifié qui appelle un script sh via crontab -e
Code :
0 23 * * *  /usr/local/apache/htdocs/www/monappli/monscript.sh
Le script (monscript.sh) contient les lignes suivantes
Code :
1
2
3
 
#!/bin/bash
wget --proxy=off  --no-http-keep-alive -S -O /usr/local/apache/htdocs/www/monappli//cron/oracleStatistic.log http://127.0.0.1:81/gipaweb/cron/oracleStatistic.php
C'est une page php qui execute des statistic sur oracle pour accélérer le temps de requetage.
J'ai testé cette page en tapant le lien dans mon navigateur préférer.
L'execution est longue, et au bout d'un moment php me dit que le temps de session a expiré, mais je m'en fou car du coté d'oracle le script continue de tourner.

Mon problème est le suivant :
Si je laisse le cron appelé le script qui lui même appelle la page, j'ai l'impression que ca boucle.
Je m'explique quand je regarde du côté d'oracle, la tache est relancé régulièrement, à peu près toutes les 5 min, jusqu'au crash, car c'est opération lourde et longue.

infos supplémentaires :
le code de ma page php : oracleStatistic.php
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
// on execute la procedure stockée qui va remettre a jour les stats oracle pour tout le schema
$sExecuteStats="begin dbms_stats.GATHER_SCHEMA_STATS ('".BDD_SCHEMA."'); end;";
$res=OCIParse($dbConnexion,$sExecuteStats);
if(!OCIExecute($res,OCI_DEFAULT)) echo 'erreur au cours de la requete '.$sExecuteStats;
?>
 
<fieldset>
Programme permettant mettre à jour les statistic oracle sur tous le shéma <?php BDD_SCHEMA?> pour de meilleures performances
</fieldset>
crazykangourou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 14h36   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 499
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 499
Points : 9 679
Points : 9 679
Bonjour,

Tout d'abord, sache qu'il faut toujours utiliser les chemins absolus dans un script de crontab.

Donc il faut remplacer wget par son appel avec chemin absolu (/bin/wget par exemple, mais ça dépend du système)

Ensuite, je te conseil de regarder dans les logs de la crontab le résultat du script que tu as lancé - cela pourra te donner des indications sur l'endroit d'où peut venir le problème.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h59.


 
 
 
 
Partenaires

Hébergement Web