Por Nacho Palou — 13 de Junio de 2006

Desde hace unos días contamos en este blog con la inestimable ayuda de un cuarto microsiervo. Tiene nombre de unidad de medida y aunque es un demonio en el fondo es un buen tipo que nos ayuda con la publicación de anotaciones.

Cron es un administrador regular de procesos en segundo plano ("demonio") que ejecuta programas a intervalos regulares (por ejemplo, cada minuto, día, semana o mes).
Aunque ya venía haciendo cosas periódicas y tediosas tales como rotar los logs y cosas de esas, una de las tareas que le hemos empezado a encargar recientemente es que ejecute el script /run-periodic-tasks incluido en el directorio /tools de la instalación de Movable Type, y que permite la publicación de anotaciones programadas con la opción «Scheduled» –llamada «Future» en versiones 3.1x de Movable Type.

Para poder activar un cron tu hosting debe disponer y permitir dicha posibilidad, bien directamente a través del panel de control o la línea de comandos o solicitándolo al soporte técnico. Consulta con tu proveedor de hosting en caso de duda.

La configuración de los procesos a ejecutar por el Cron Daemon deben ir acompañados del ciclo de ejecución recogido en el archivo de configuración, llamado crontab. Para indicar cuándo debe ejecutarse hay que especificar la hora y el minuto, el día, el mes y el día de la semana (lunes, martes,...). Y el comando a ejecutar. De modo que se pueden configurar procesos que sucedan todos los lunes a las 7 de la mañana o cada 30 minutos de todos los días del año y cosas así.

Al configurar la tarea de publicación automática en el crontab hay que indicar la ruta de directorios donde se encuentra la instalación de Movable Type. Esto es la ruta de la instalación en el servidor, no la URL, de modo que será algo así como /home/hostname/htdocs/.... A continuación se indica la ubicación del archivo run-periodic-tasks.

IMPORTANTE: el archivo run-periodic-tasks debe tener permisos 755 para que pueda ejecutarse.

Este sería un ejemplo, configurado con la opción «crontab» del panel de control Plesk, con período de ejecución de 30 minutos

Amigo Cron

Donde se invoca cada treinta minutos de cada hora, cada día del mes y cada mes y cada día de la semana. Los asterísticos (*) equivalen a cualquiera.

El parámetro > /dev/null 2>&1 añadido al final envía el resultado al equivalente a la papelera, ya que como decía antes es un error de sintaxis que no he conseguido resolver –si alguien tiene la solución y es tan amable que la comparta, aunque no debe ser nada grave porque funciona correctamente. Si se quiere eliminar esa opción es posible configurar una dirección de email destino a la que el cron envíe los resultados de ejecutar esta tarea –idem con el resto de tareas programadas si existen.

Compartir en Flipboard Publicar / Tuitear