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!