Récupérer nb de messages en queue qmail vers php

Récupérer nb de messages en queue qmail vers php - PHP - Programmation

Marsh Posté le 26-04-2007 à 09:35:46    

Bonjour à tous !
J'ai un serveur dédié linux (webmin..etc) et mon "hébergeur" n'a pas la réponse à la question suivante :
Comment, en PHP, récupérer la valeur du NOMBRE DE MESSAGES EN QUEUE de qmail, pour l'utiliser ensuite ?
Merci d'avance à ceux qui sauront !
Excellente journée à tout !

Reply

Marsh Posté le 26-04-2007 à 09:35:46   

Reply

Marsh Posté le 26-04-2007 à 11:11:03    

tu dois bien avoir une commande qmail qui te dira ça, genre qmail-qstat ou autre

Reply

Marsh Posté le 26-04-2007 à 11:13:10    

Oui, qmail-qstat me donne deux infos sur la queue ! ;)
Mais moi, j'aimerais une commande qui me permette de récupérer UN chiffre en PHP, pour pouvoir faire qq chose du type :
 
if (nbqueue<1000){
envoyer un mail ...(...)
}else{ attendre }
 
Merci si qqn sait ..

Reply

Marsh Posté le 26-04-2007 à 11:17:07    

...
 
tu parses le résultat et tu ne récupères que le chiffre qui t'interesse

Reply

Marsh Posté le 26-04-2007 à 11:39:13    

Je ne sais pas faire ; d'où ma venue ici ! :-(
merci de m'aider

Reply

Marsh Posté le 26-04-2007 à 11:40:05    

montre nous le résultat d'un qmail-qstat

Reply

Marsh Posté le 26-04-2007 à 11:43:10    

Je n'arrive déjà pas à le faire en PHP le qmail-qstat
Dans Putty (SSH) ça donne :
messages in queue: 422
messages in queue but not yet preprocessed: 0
 
Moi mon but c'est récupérer en PHP le "422" et l'utiliser, l'afficher..etc
Merci d'avance !

Reply

Marsh Posté le 26-04-2007 à 11:48:20    

ncdetoulouse a écrit :

Je n'arrive déjà pas à le faire en PHP le qmail-qstat

sûrement un problème de droit, essaye avec un su
 

ncdetoulouse a écrit :

messages in queue: 422
messages in queue but not yet preprocessed: 0

pas bien dur à récupérer, tu sais manipuler des chaines de carcatères ?
 
 
 
 

Reply

Marsh Posté le 26-04-2007 à 11:57:21    

Non, et non ! :(
Peux tu me montrer un exemple, le code qu'il faudrait à ton avis ?
MERCI !:

Reply

Marsh Posté le 26-04-2007 à 13:52:42    

S'il vous plait ...

Reply

Marsh Posté le 26-04-2007 à 13:52:42   

Reply

Marsh Posté le 26-04-2007 à 15:02:22    

franchement ça ne serait pas t'aider que de te donner la soluce, le traitement des chaines fait partie des bases en prog.
 
un peu de lecture :
http://fr.php.net/manual/fr/function.substr.php
http://fr.php.net/manual/fr/function.strstr.php
 
...etc

Reply

Marsh Posté le 26-04-2007 à 15:36:10    

Là je devrais faire $valeur = substr("qmail-qstat", 0, 20); ?
Mais comment retourner en php mon "qmail-qstat" que j'effectue en ssh déjà ?..
J'ai vraiment besoin d'aide pour une utilisation urgente .. En me montrant le code dont j'ai besoin, ou qq chose de proche, je serai apte à comprendre comment ça fonctionne, et le réutiliser dans l'avenir !
Merci d'avance !

Reply

Marsh Posté le 26-04-2007 à 15:46:43    

pour l'utilisation de qmail-qstat c'est une autre histoire :
http://fr.php.net/manual/fr/ref.exec.php
 
 
exemple :

$output = shell_exec('qmail-qstat');
// ensuite tu traites $output pour récupérer la partie qui t'interesse

attention : il faut que l'utilisateur apache est accès à cette commande

Reply

Marsh Posté le 26-04-2007 à 18:29:32    

Merci ! :-)
 
<? $output = shell_exec('qmail-qstat');
 $out=substr("$output", 18, -48);    
 echo "$out"; ?>
 
J'ai sorti ça : Ca m'affiche "-1", c'est a dire le nombre de messages en queue ..
Mais question : si le nombre de messages en queue passe à 5245 par exemple, ça ne m'affichera que 52 .. et ce n'est donc pas bon !
Comment sortir le bon nombre de chiffres au bon moment ?

Reply

Marsh Posté le 26-04-2007 à 19:11:05    

messages in queue: -1 messages in queue but not yet preprocessed: -1  
En fait c'est pas bon, car ça affiche -1 alors qu'il y a 600 messages en queue en réalité ; ce n'est pas le bon chiffre.

Reply

Marsh Posté le 27-04-2007 à 00:34:35    

c'est un problème de droit, tu dois d'abord vérifier que sudo est installé sur ton serveur, ensuite passer par
 

Code :
  1. shell_exec ("sudo /var/qmail/bin/qmail-qstat" )


 
et modifier comme il faut le fichier /etc/sudoers en rajoutant quelque chose dans ce genre là
 

Code :
  1. apache ALL=(root) NOPASSWD: /var/qmail/bin/


Message édité par push le 27-04-2007 à 00:35:39
Reply

Marsh Posté le 27-04-2007 à 10:28:28    

Merci :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed