Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1055 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  Execution et Crontab

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Execution et Crontab

n°598548
Machine
Posté le 01-12-2004 à 01:46:30  profilanswer
 

salut à tous,
voilà j'ai un soucis avec ma crontab et l'execution des commandes.
 
voila une ligne issus de ma Crontab :

Code :
  1. 1,6,11,16,21,26,31,36,41,46,51,56 * * * * /home/galert/execute /home/galert/mail_massif_traite.php


 
Le but c'est d'executer un script php avec le script suivant :  

Code :
  1. #!/bin/bash
  2. echo $(date +'%Y.%m.%d-%Hh%M') - Execution du script $1   >> /home/webman/log/mail.log
  3. /usr/bin/php4 -d /home/galert/php.ini -f $1 >> /home/webman/log/mail.log


quand je tape en ligne de commande :  
/home/galert/execute /home/galert/mail_massif_traite.php
pas de soucis, le script est executé sans problème.
Mais dans ma crontab, pas l'once d'une execution.
le sujet semble avoir été traité pas mal de fois mais aucune réponse satisfaisante.
 
Extrait de mon SYSLOG :
Dec  1 01:41:01 gpier /USR/SBIN/CRON[20049]: (root) CMD (/home/galert/execute /home/galert/mail_massif_traite.php)
 
Extrait de mon mail.log:
2004.12.01-01h41 - Execution du script /home/galert/mail_massif_traite.php
donc il execute à rori la premire ligne masi pas mon script PHP, le plus important.
 
Je suis preneur de toute piste
merci


Message édité par Machine le 01-12-2004 à 01:47:45
mood
Publicité
Posté le 01-12-2004 à 01:46:30  profilanswer
 

n°601179
Machine
Posté le 07-12-2004 à 10:04:18  profilanswer
 

Avec ce fichier execute :
 
#!/bin/bash
 
echo $(date +'%Y.%m.%d-%Hh%M') - Execution du script $1   >> /home/webman/log/mail.log
echo Debut Execution >> /home/webman/log/mail.log
/usr/bin/php4 -f $1 >> /home/webman/log/mail.log
echo Fin Execution >> /home/webman/log/mail.log
 
j'obtiens bien dans mon fichier /home/webman/log/mail.log
 
"Execution du script .......
Debut Execution
Fin Execution"
 
mais la ligne /usr/bin/php4 -f $1 >> /home/webman/log/mail.log est complètement ignorée.
Savez d'ou ça peux venir ?? Serait un probleme de contexte d'execution ??


Message édité par Machine le 07-12-2004 à 10:05:16
n°601407
Hansolo
Posté le 07-12-2004 à 19:14:05  profilanswer
 

Salut,
 
A tout hazard, est-ce qu'au moins la commande doit te retourner une info ?

n°601416
Machine
Posté le 07-12-2004 à 19:36:44  profilanswer
 

salut,  
en effet elle ne renvoie rien quand elle est executé via le crontab alors qu'elle renvoie quelque chose qd elle est executé en ligne de commande.
je vais chercher pkoi.
merci


Message édité par Machine le 07-12-2004 à 19:37:13
n°601425
Hansolo
Posté le 07-12-2004 à 19:51:25  profilanswer
 

C'est vraiment bizarre car tous les chemins sont complets.
 
Essayes avec:
 
1,6,11,16,21,26,31,36,41,46,51,56 * * * * sh /home/galert/execute /home/galert/mail_massif_traite.php

n°601434
Hansolo
Posté le 07-12-2004 à 20:05:56  profilanswer
 

Quels sont les droits d'exécution du script ?

n°601488
Machine
Posté le 07-12-2004 à 21:18:00  profilanswer
 

bon en fait, les scripts sont dans la crontab de root.
le script etait en fait bien lancé mais ne renvoyais rien en effet (merci !) car php4 ne reconnait pas les fonctions mysql et quitte sans rien renvoyer (j'avais desactivé les messages d'erreurs  :pt1cable: le système etant en prod).
 
le probleme est donc que php4 quand il est executé avec la crontab ne reconnait pas les fonctions mysql.
 
j'ai fait un phpinfo() en ligne de commande et un en crontab et voila ce que ca donne :
 
Celui en ligne de commande :
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 3.23.49
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/run/mysqld/mysqld.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib -lmysqlclient -L/usr/lib -z
 
Celui en crontab :
rien sur mysql evidement.
 
La variable d'environnement PATH est la meme. Je vosi pas quelle difference autre il peut y avoir entre une execution corntab et ligne de commande classique.  :??:


Message édité par Machine le 07-12-2004 à 21:22:08
n°601571
Hansolo
Posté le 07-12-2004 à 23:11:07  profilanswer
 

Je pense que c'est une différence au niveau des canaux de sorties. Mais je ne peux pas t'en dire plus...

n°601782
Machine
Posté le 08-12-2004 à 14:47:24  profilanswer
 

ok bon ca marche, encore un truc à la con
c'est l'argument -c de php4 qui prend non pas un fichier php.ini mais un chemin ou se trouve un php.ini ...
c'etait pourtant ecrit.
merci en tout cas.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  Execution et Crontab

 

Sujets relatifs
Crontab [RESOLU]probleme execution gimp
crontab - Commande programmée ne s'exécute pasQuand la crontab n'existe pas encore...
Unix, Crontab, editeur et variable d'environnementComment forcer l'execution d'un soft aprés fermeture de SSH
pb execution d'un shell en kshcrontab script visuelle
gros pb execution script 
Plus de sujets relatifs à : Execution et Crontab


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR