Foros del Web » Programando para Internet » PHP »

Ejecutar shell_exec en cada vuelta del while

Estas en el tema de Ejecutar shell_exec en cada vuelta del while en el foro de PHP en Foros del Web. Bueno lo que intento hacer es un panel, la parte que estoy haciendo el la parte del fin del servicio es decir si llego la ...
  #1 (permalink)  
Antiguo 07/09/2008, 19:17
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Ejecutar shell_exec en cada vuelta del while

Bueno lo que intento hacer es un panel, la parte que estoy haciendo el la parte del fin del servicio es decir si llego la fecha de termino que se corte el servicio en este caso un servidor de juego, pero tengo un problema si el cliente tiene mas de un servidor contratados mi script solo detiene el primero y el resto lo deja online, les dejo parte del codigo, para ver si me pueden ayudar.

Código PHP:
 //rescato los datos del mysql
$result mysql_query("SELECT s.s_nombre, s.s_ip,s.s_puerto,s.s_juego,u.mail,u.id,u.nombre,u.apellidos,u.f_termino
                                     
    FROM usuarios u
                                     
    LEFT JOIN servidores s ON(s.s_cliente=u.id)
                                     
    WHERE admin='0'"
);

//asigno nombre a las variables
while($row mysql_fetch_array$result )) 

{

        
$fin=$row['f_termino'];
        
$nombre=$row['nombre'];
        
$cliente=$row['id'];
        
$apellidos=$row['apellidos'];
        
$email=$row['mail'];
        
$juego=$row['s_juego'];
        
$puerto=$row['s_puerto'];
        
$ip=$row['s_ip'];
        
$servicio=$row['s_cliente'];

//configuracion para el stop del servidor asignado al cliente.

    
switch ($juego) {
    
    case 
'Counter Strike 1.6' : {
    
    
shell_exec("$rutacs/$puerto/subir.sh stop");
        
    }break;
    
    case 
'Medal Of Honor' : {
    
    
shell_exec("$rutamohaa/servidores/$puerto.sh stop");
    
    }break;

            }

        } 
como puedo hacer que el comando shell_exec se ejecute con cada uno de los puertos que obtenga de la query ?

Gracias.
  #2 (permalink)  
Antiguo 07/09/2008, 19:59
Avatar de nodws  
Fecha de Ingreso: septiembre-2008
Ubicación: Mexico
Mensajes: 108
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Problemaso, necesito una buena ayuda

talvez debas llamar primero a los resultados de Usuarios, despues a Servidores. osea separar los querys
  #3 (permalink)  
Antiguo 07/09/2008, 22:17
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Problemaso, necesito una buena ayuda

de verdad no logre captar muy tu respuesta pero de verdad muchas gracias por tu ayuda, tratare de ver que puedo hacer.
  #4 (permalink)  
Antiguo 08/09/2008, 00:08
Avatar de nodws  
Fecha de Ingreso: septiembre-2008
Ubicación: Mexico
Mensajes: 108
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Problemaso, necesito una buena ayuda

En vez de hacer un JOIN (usuarios u LEFT JOIN servidores s)

haz un

$temp = fetch_array(mysql_query(SELECT * FROM usuarios ...))

luego

$result = mysql_query(SELECT * FROM servidores WHERE s_cliente=$temp[id]...)

es un ejemplo en pseudo codigo, pero se entiende que no es recomendable usar el JOIN
  #5 (permalink)  
Antiguo 08/09/2008, 13:02
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Problemaso, necesito una buena ayuda

bueno de verdad lo que hay que hacer es tratar de ejecutar el comando shell_exec por cda uno de los puertos que obtenga de la consulta mysql, es posible realizar eso ?
  #6 (permalink)  
Antiguo 08/09/2008, 13:41
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Problemaso, necesito una buena ayuda

Porfavor que alguien me ayude u.u
  #7 (permalink)  
Antiguo 08/09/2008, 13:52
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
Respuesta: Problemaso, necesito una buena ayuda

haber que te entega esta consulta??
Código PHP:
$result mysql_query("SELECT s.s_nombre, s.s_ip,s.s_puerto,s.s_juego,u.mail,u.id,u.nombre,u.apellidos,u.f_termino        
    FROM usuarios u 
    LEFT JOIN servidores s ON(s.s_cliente=u.id)                                       
    WHERE admin='0'"
); 

while(
$row mysql_fetch_array$result ))  



        
$fin=$row['f_termino']; 
        
$nombre=$row['nombre']; 
        
$cliente=$row['id']; 
        
$apellidos=$row['apellidos']; 
        
$email=$row['mail']; 
        
$juego=$row['s_juego']; 
        
$puerto=$row['s_puerto']; 
        
$ip=$row['s_ip']; 
        
$servicio=$row['s_cliente']; 
       echo 
$juego."<br>";

__________________
~~[FiDeLio]~~
  #8 (permalink)  
Antiguo 08/09/2008, 21:49
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Problemaso, necesito una buena ayuda

entrega solo el juego y con puerto da todos los puertos. Como lo puedo hacer ?
  #9 (permalink)  
Antiguo 08/09/2008, 22:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problemaso, necesito una buena ayuda

Titulo de tema editado, por favor usa titulos más descriptivos.
  #10 (permalink)  
Antiguo 08/09/2008, 23:06
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Ejecutar shell_exec en cada vuelta del while

ok, gracias de casulidad se te ocurre algo para este problema ?
  #11 (permalink)  
Antiguo 09/09/2008, 17:25
Avatar de .php  
Fecha de Ingreso: julio-2006
Mensajes: 481
Antigüedad: 17 años, 8 meses
Puntos: 5
Respuesta: Ejecutar shell_exec en cada vuelta del while

si, que lo proframes en bash y lo llamas de php
__________________
~~[FiDeLio]~~
  #12 (permalink)  
Antiguo 12/09/2008, 13:39
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Ejecutar shell_exec en cada vuelta del while

podrias ejemplificar ya que de verdad no entendí muy bien tu idea.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.