Abr3

Cron jobs con WordPress

Javi Vicente programación
'; }?>

En Blogsolutions cada vez nos estamos especializando más en WordPress, la plataforma de publicación líder y que más recomendamos a nuestros clientes dada su sencillez en el manejo y facilidad de edición HTML.

Una de las cosas que teníamos pendientes, y que aunque conocíamos de su existencia, no habíamos usado hasta ahora, son las llamadas cron jobs o tareas automáticas, que no es más que la ejecución de un script cada cierto tiempo para tareas de actualización de datos, backups o mantenimiento interno. El propio core de WordPress lo usa, por lo que debe funcionar 😉

Vamos a poner un ejemplo muy sencillo: supongamos que queremos hacer un backup de la base de datos que tenemos y que se ejecute de forma diaria a las 2 de la madrugada, que es cuando menos recursos está consumiendo el blog en el servidor: consultas, servidor web y otros servicios.

Primero debemos crear la función a ejecutar en nuestro fichero functions.php, en este caso un dump de la base de datos desde la consola:


function ejecutaBackup() {
$fecha = date("d-m-Y",time());
system('mysqldump basededatos > /backup/basededatos_'.$fecha.'.sql');
}

Y ahora a continuación debemos llamar a esa función de forma automática y temporal donde time() será la fecha de comienzo en formato timestamp


if ( !wp_next_scheduled('programacion_backup') ) {
wp_schedule_event( time(), 'daily', 'programacion_backup' ); // hourly, daily and twicedaily
}
add_action('ejecutaBackup', 'programacion_backup');

Si no sabemos exactamente qué tareas tenemos automatizadas, siempre podemos utilizar el plugin Cron View para visualizarlas de forma sencilla.