Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Tarea diaria programada BBDD con PHP

Estas en el tema de Tarea diaria programada BBDD con PHP en el foro de PHP en Foros del Web. Buenas a todos No se si lo que busco se puede hacer con PHP o de alguna otra manera. Necesito que me ejecute una tarea ...
  #1 (permalink)  
Antiguo 10/11/2015, 08:03
 
Fecha de Ingreso: noviembre-2015
Ubicación: Murcia
Mensajes: 17
Antigüedad: 8 años, 5 meses
Puntos: 0
Tarea diaria programada BBDD con PHP

Buenas a todos
No se si lo que busco se puede hacer con PHP o de alguna otra manera.

Necesito que me ejecute una tarea una vez al dia.
La tarea lo que hace es actualizar la BBDD por si ha encontrado algun error.
Me gustaria que en vez de tener que ejecutarla manualmente cuando haya un error, se ejecute de manera automatica por la madrugada, de esa manera, me evitaria de estar preocupado.

Como os comento, no se si es posible.

Gracias de antemano

Un saludo
  #2 (permalink)  
Antiguo 10/11/2015, 08:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Tarea diaria programada BBDD con PHP

Claro que es posible.

Te sugiero investigar sobre CRON-jobs en sistemas Mac/Linux o tareas programadas si usas Windows.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/11/2015, 08:06
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Tarea diaria programada BBDD con PHP

eso lo hacer con un cronjob desde tu panel de hosting
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 11/11/2015, 02:35
 
Fecha de Ingreso: noviembre-2015
Ubicación: Murcia
Mensajes: 17
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Tarea diaria programada BBDD con PHP

Vale, ya he estado mirando y se mas o menos pero el comando a ejecutar como lo pondria?
Lo que quiero lanzar es un PHP
He puesto de esta manera

Código:
php home/public_html/recalcularclasificaciones.php
Y no me hace nada...

El PHP es este

Código:
<?php

$host="";
$username=""; 
$password=""; 
$db_name="";
 
mysql_connect("$host", "$username", "$password"); 
mysql_select_db("$db_name");
 
$sql1 = "SELECT n_socio FROM users";
$result1 = mysql_query($sql1);
 
if (mysql_num_rows($result1) > 0) {
   
     while ($fila = mysql_fetch_array($result1)) {
 
         $numerodesocio = 0;
     $numerodesocio = $fila['n_socio'];   
         $sql2="SELECT * FROM partidos WHERE juegoslocal !=  '' AND (local = '".$numerodesocio."' OR visitante = '".$numerodesocio."')";
     $result2=mysql_query($sql2);
     
 
     $partidosganados = 0;
        $partidosperdidos = 0;
        $wofavor = 0;
                $wocontra = 0;
                $juegosfavor = 0;
                $juegoscontra = 0;
                $diferenciajuegos = 0;
                $puntos = 0;
 
      if (mysql_num_rows($result2) > 0) {
         
        while ($fila2 = mysql_fetch_array($result2)) { 
 
                        $local = $fila2['local'];
                        $visitante = $fila2['visitante'];
                        $juegoslocal = $fila2['juegoslocal'];
                        $juegosvisitante = $fila2['juegosvisitante'];
 
            if (($local == $numerodesocio) AND ($juegoslocal == 'WO')){
                
                $puntos = $puntos + 3;
                $juegosfavor = $juegosfavor + 8;
                $wofavor = $wofavor + 1;
    
            }else if (($local == $numerodesocio) AND ($juegosvisitante == 'WO')){
                $juegoscontra = $juegoscontra + 8;
                $wocontra = $wocontra + 1;
    
            }else if (($local == $numerodesocio) AND ($juegoslocal > $juegosvisitante)){
                $puntos = $puntos + 3;
                 $juegosfavor = $juegosfavor + $juegoslocal;
                 $juegoscontra = $juegoscontra + $juegosvisitante;
                $partidosganados = $partidosganados + 1;
    
            }else if (($local == $numerodesocio) AND ($juegoslocal < $juegosvisitante)){        
                 $puntos = $puntos + 1;
                 $juegosfavor = $juegosfavor + $juegoslocal;
                 $juegoscontra = $juegoscontra + $juegosvisitante;
                 $partidosperdidos = $partidosperdidos + 1;
 
            }else if (($visitante == $numerodesocio) AND ($juegosvisitante == 'WO')){
                 $puntos = $puntos + 3;
                 $juegosfavor = $juegosfavor + 8;
                 $wofavor = $wofavor + 1;
        
            }else if (($visitante == $numerodesocio) AND ($juegoslocal == 'WO')){
                 $juegoscontra = $juegoscontra + 8;
                 $wocontra = $wocontra + 1;
        
            }else if (($visitante == $numerodesocio) AND ($juegosvisitante > $juegoslocal)){
                 $puntos = $puntos + 3;
                 $juegosfavor = $juegosfavor + $juegosvisitante;
                 $juegoscontra = $juegoscontra + $juegoslocal;
                 $partidosganados = $partidosganados + 1;
        
            }else if (($visitante == $numerodesocio) AND ($juegosvisitante < $juegoslocal)){        
                 $puntos = $puntos + 1;
                 $juegosfavor = $juegosfavor + $juegosvisitante;
                 $juegoscontra = $juegoscontra + $juegoslocal;
                 $partidosperdidos = $partidosperdidos + 1;
            }
        
        }
      }
       
         $diferenciajuegos = $juegosfavor - $juegoscontra; 
         
         $sql3 = " UPDATE users SET ";
         $sql3 .= " puntos = '".$puntos."',";
         $sql3 .= " juegosfavor = '".$juegosfavor."',";
         $sql3 .= " juegoscontra = '".$juegoscontra."',";
         $sql3 .= " diferenciajuegos= '".$diferenciajuegos."',";
         $sql3 .= " partidosperdidos = '".$partidosperdidos."',";
         $sql3 .= " partidosganados = '".$partidosganados."',";
         $sql3 .= " wofavor = '".$wofavor."',";
         $sql3 .= " wocontra = '".$wocontra."'";
         $sql3 .= " WHERE n_socio = '".$numerodesocio."'";
         $resultado3 = mysql_query($sql3);
 
         
    }      
   
}
   
mysql_close("$host", "$username", "$password");
exit;

?>
  #5 (permalink)  
Antiguo 11/11/2015, 03:38
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Tarea diaria programada BBDD con PHP

Saludo
Pues así es el comando.
Ahora el asunto es, ¿Como fue programado el cron job?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 11/11/2015, 03:54
 
Fecha de Ingreso: noviembre-2015
Ubicación: Murcia
Mensajes: 17
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Tarea diaria programada BBDD con PHP

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo
Pues así es el comando.
Ahora el asunto es, ¿Como fue programado el cron job?
Current Cron Jobs

Minute Hour Day Month Weekday Command Actions
0 5 * * * php home/public_html/recalcularclasificaciones.php Edit Delete
0,30 * * * * php home/public_html/recalcularclasificaciones.php Edit Delete


Tengo uno que es el que quiero tener realmente, que es el de las 5 de la mañana.
El segundo es el de pruebas para que las realize cada 30 minutos.
No hace nada...

Estará mal el codigo? O asi deberia funcionar?
Hay que hacer algo más?
  #7 (permalink)  
Antiguo 11/11/2015, 04:20
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Tarea diaria programada BBDD con PHP

Saludo
Pues la configuración de los cron jobs está bien.

Ahora, una de dos.
O la ruta no la ve con home/public_html/ (intentar con www),
o la ve, pero algo pasa en la ejecución.

Revisa sí hay un archivo de log (normalmente al mismo nivel del script)
en donde quede registro de posibles fallas.

Sí no lo hay, crear un php nuevo que haga algo sencillo,
(por ej crear un archivo de texto y escribir algún texto),
y apuntar los cron jobs al nuevo archivo para verificar sí lo hace,
y sí funciona, el tema está en algún detalle del otro script.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: bbdd, tarea
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 01:36.