Como configurar Crontab

12Feb09

Llevo ya un ratillo peleandome con el servidor. Quiero simplemente programar unos crones que van a ejecutar una serie de procesos en background.

En línea de comandos, la siguiente instrucción se ejecuta correctamente:

[> php cron.php

(el run.php simplemente lanza los crones y guarda el log en la base de datos).

El primer detalle es que tenemos un alias de “php” hacia “/usr/bin/php5″, así que cuando pongamos este comando en el crontab va a ir el path completo para ejecutar PHP, así como el path completo para ejecutar el fichero.

Lo que también es tremendamente útil (y que sin ello no habría podido configurar los crones) és:

$root = dirname(dirname(__FILE__));
set_include_path(get_include_path() . PATH_SEPARATOR . $root . '/path/');
require 'file.php';

De este modo incluyes todos los ficheros con independéncia desde donde vayas a llamarlo posteriormente. A partir de aquí, ahora solo falta configurar el cron en sí:

[> vi /etc/crontab

# mi ho da mo we user command
54 * * * * root /usr/bin/php5 /var/www/path1/path2/cron.php

Ahí está … inauguro el marcador en mi blog: Pau 1 -vs- 0 Servidor :)

There is 1 comment in this article:

  1. 15/02/2009Maxi say:

    Hola! Alomejor te puede ser útil la técnica que se usa con drupal:
    */10 * * * * root /usr/bin/wget -O – -q http://localhost/cron.php
    Con lo cual tienes un script que se ejecuta a través del servidor web, sin mas problema.
    Un saludo!

Write a comment: