viernes, 17 de octubre de 2014

Creación de Cron Jobs desde cPanel y Ejecutar Script PHP desde Tareas programadas

La creacion de Cron Jobs en un servidor Linux es una de las tareas mas interesantes ya que muchas veces necesitaremos de procesos que se ejecutan "solos", que simplemente no tienen un accionante.

Lo primero que hacemos en nuestro cPanel es buscar la categoria Avanzado, como lo muestra la imagen siguiente:

Alli encontramos Cron Jobs, damos click alli y dentro de esta nueva interfaz, nos encontraremos con la configuracion basica: 

E-Mail de Cron: Es el correo en el cual os llegara una notificacion sobre si se ejecuto o no correctamente el script.

Agregar Nueva tarea Cron: Aqui configuraremos cuando se va a ejecutar nuestro cron, hay ya configuraciones comunes, como lo muestra el select, pero tambien se puede personalizar, para configurarlo correctamente, teniendo en cuenta que no queremos una de las configuraciones comunes, lo explicamos en este post.

Cuando ya tengamos esto, vamos a lo que es el campo Comando, que es un text box, alli escribiremos que es lo que vamos a hacer, para este ejemplo ejecutaremos un archivo php que se encuentra en el directorio carpeta, de un servidor que tiene un usuario llamado usuario(muy original), es decir para entender mucho mejor:

servidor: mipagina.com
usuario: lo mas seguro es que creen un usuario llamado "mipagina", sino es asi, consulte al proveedor del servidor.
carpeta: la carpeta es por si tienes el script a ejecutar en una carpeta, sino es asi, y esta en raiz, simplemente debe estar en "public_html" en los cuales casi siempre estan los archivos php.

El archivo php se llama archivo.php, se encuentra en la carpeta "carpeta" que estan en raiz de "public_html" en el servidor "mipagina.com", entonces

 1 cd /home/mipagina(suponiendo que es el usuario)/public_html/carpeta/; php archivo.php

Esta linea de codigo tiene dos partes, separadas por el punto y coma(";"), la primera parte solo estamos ubicando la carpeta del archivo e introduciendonos en el con el comando cd, la segunda, es abrir el archivo "archivo.php" con el CLI php , es decir php ejecutara el archivo. 



Listo, ya tenemos nuestro Cron.

Hay otras formas de utilizar cronjobs. Si quieren otra forma de hacerlo pueden ingresar a este link

Windows

Para crear un Cron Jobs en Windows, es algo similar, lo unico que tenemos que hacer un archivo .bat y ubicarlo en algun lado, dentro de este archivo deberemos escribir lo siguiente:

Directorio Completo donde se encuentra php.exe, espacio -f, espacio directorio del script php.

-f <fichero>: Analiza y ejecuta el <fichero> 

Seria algo asi:

 1 D:\php\php.exe -f D:\servidor\miproyecto\script.php

Esto teniendo en cuenta mi configuración. Después lo único que haríamos seria guardar el archivo.bat en una ubicacion adecuada e ingresar al programador de tareas y decirle cuando ejecutar este archivo.

Espero que se haya entendido todo, esto esta probado, esta en funcionamiento. Si tienen problemas comenten, sino tienen problemas, tambien comenten. Si hay un error en el manual, comenten.

Muchas gracias.


3 comentarios :

  1. Estimado la explicación que das muy buena pero he encontrado una solución mas general para servidores Linux para ejecutar cron jobs de script php que no depende de la ruta al interprete php para ejecutarlo. Ojala me dejes compartir la solucion! excelente blog :)

    ResponderBorrar
    Respuestas
    1. Hola, ¿como estas?.

      Gracias por leer el blog. Claro que si, si quieres arma el post, nos dejas tus credenciales y así te referenciamos. La idea es que compartamos este tipo de información.

      Borrar
  2. Gracias necesitaba hacerlo en windows, buen material.

    ResponderBorrar