> Faqs > ¿ Como puedo crear una tarea periódica que me elimine registros de una tabla en MYSQL ?

¿ Como puedo crear una tarea periódica que me elimine registros de una tabla en MYSQL ?

Buenas, tengo una pregunta sobre el tema, quiero generar un evento que me permite eliminar registros de una cierta tabla cada ciertos minutos (ex. 10 min)

Tengo una DB llamada appweb, la tabla se llama usuarios y la columna que quiero que se elimine (sus registros) se llama token

Asi el token que se genere en el cambio de contraseña, se elimine despues de 10 minutos de crearse

La base de datos es MySQL y el lenguaje de programación que uso es PHP.

Responder la pregunta
Editar Hacer otra preguntaPreguntar

Respuestas

Para esta tarea necesitas realizar un "Cron Job", que es una tarea que se ejecuta de manera recurrente, de manera repetida en los intervalos de tiempo que tú selecciones. Esta tarea la programas indicando el intervalo por medio de una serie de valores:

  • Minuto
  • Hora
  • Dia del mes
  • Mes
  • Dia de la semana
  • Usuario
  • Comando

Si no me equivoco, para que se ejecute cada 10 minutos la programación sería la siguiente:

*/10 * * * * root [comando]

Eso ejecutará el [comando] cada 10 minutos, en todas las horas, días del mes, meses y días de la semana.

Si requieres cambiar la periodicidad de la ejecución de la tarea puedes usar este recurso, que te permite crear planificaciones de cron y te dice qué resultado tendría cada una de ellas. https://crontab.guru/

El comando en sí puede ser variable. Lo normal sería que hicieras un programa con tu lenguaje preferido y que invocases ese programa directamente. Si se trata de PHP puedes hacer programas de consola también, pero muy probablemente tengas una página PHP normal que requiera de un servidor web para poder ejecutarse. En este caso tendrás que usar algún comando como Curl o Wget que te permiten invocar por HTTP una URL. No hay problema alguno en ello y es algo bastante normal.

Ya el código PHP para realizar la operación y el acceso a base de datos imagino que no tendrás problema de programarlo.

Para guardar la tarea en el Cron, de modo que configures tu servidor, lo haces por línea de comandos. No es una tarea difícil. Te recomiendo un par de artículos donde podrás obtener una guía de todo esto, de modo que lo puedas hacer sin problemas.

Lee estos artículos:

Espero que te sirva. Suerte!

Miguel Angel
507 26 35 2