Mis aventuras con Cron

Bueno como muchos sabreis he creado un Planeta para juntar los articulos más interesantes en español sobre BSD y bla,bla,bla,… Pues la tarea que parecia más fácil, la de poner una simple linea en Cron para que cada X tiempo se actualizara el Planeta y recogiera los nuevos Posts de mis apreciados contribuyentes, ha sido lo [...]

Bueno como muchos sabreis he creado un Planeta para juntar los articulos más interesantes en español sobre BSD y bla,bla,bla,…

Pues la tarea que parecia más fácil, la de poner una simple linea en Cron para que cada X tiempo se actualizara el Planeta y recogiera los nuevos Posts de mis apreciados contribuyentes, ha sido lo que más me ha dado la lata, pero hoy puedo estar orgulloso porque al final lo he conseguido. Os voy a explicar como. A lo mejor a alguien le parece un poco chapuza, pero funciona, y de verdad que estaba ya desesperado.

Lo primero era introducir una tarea nueva en Cron,

  • #crontab -e

Bueno ahora en teoria bastaba con escribir una linea como esta para que el Planeta se actualizara solo.

  • 20 * * * * /usr/local/bin/php -q /usr/local/www/data/PlanetaBSD/wp-content/update-feeds.php

Pues a mi esto no me funcionaba, Cron me envia al mail un mensaje como este,

Warning: main(../wp-blog-header.php):failed open stream: No such file or
directory in
/usr/local/www/data-dist/PlanetaBSD/wp-content/update-feeds.php on line 87

Fatal erro: main():Failed opening required ‘../wp-blog-header.php’
(include_path=’.:’) in
/usr/local/www/data-dist/PlanetaBSD/wp-content/update-feeds.php on line 87

Después de darle muchas vueltas y preguntar a algún compañero (gracias Armonth, gracias Juanjo), no veia la solución hasta que al final se me ocurrio hacer un pequeño script como este,

  • #!/bin/sh
    cd /usr/local/www/data/PlanetaBSD/wp-content/
    /usr/local/bin php – q update-feeds.php

que lo he llamado actualiza.sh y lo he guardado en /usr/local/www/data/PlanetaBSD/

Después le he dado permisos de ejecución.

  • #chmod u+x actualiza.sh

Ahora lo unico que me faltaba era decirle a Cron que lanzara el script actuliza.sh cada 20 minutos mas o menos.

  • #crontab -e

    20 * * * * /usr/local/www/data/PlanetaBSD/actualiza.sh

Y funciona, que contento me puse cuando vi que al final lo consegui.

Tengo amigos y compañeros que me dicen que para que me meto en estos lios (que si un servidor, que si un firewall, que si esto o que si lo otro,…), que todos son problemas, y tienen razón són muchos problemas, pero a su vez muchas satisfacciones cada vez que resuelves un problema y ves que lo has hecho tu solito(a veces con ayuda ;) ).

No creeis que vale pena ??

Deja un comentario