Configurar servicio automatizado con cron en Linux Ubuntu Server




En un Ubuntu Server y surgió la problemática de que no se envían las notificaciones via email de las participaciones en los foros, mensajes etc. del Moodle que tengo instalado.

El problema fué que el cron de Moodle no estaba siendo llamado regularmente y por tanto muchas tareas  de notificacion no se estaban realizando,  para solucionar ello se debe configurar en el sistema en el que Moodle este instalado, la llamada a dicho script. Existen varias formas de hacerlo en un servidor local para windows, Linux.

Me centrare unicamente para servidores Linux por ser la opción mas compleja

Soluciones: 

A.- La mas simple es llamando a la ruta en un navegador web http://tusitio/admin/cron.php con ello al instante se actualizara todo y se desencadenan los llamados, pero esto no es viable ya que tenemos que hacerlo de forma manual cada que necesitemos actualizar  y desencadenar los procesos de notificaciones

Existe un  sitio que nos permite hacer la llamada automatizada https://cron-job.org habrá que registrarse y añadir la tarea automatizada, es básicamente un servicio de cron externo. (no esta de mas conocerlo)

B.- Añadir esta llamada manual al crontab via con wget o php para ser repetitiva cada 15 minutos de cada hora, de cada, dia, de cada mes y de cada año.
(Crontab es el archivo de configuración de cron en Linux, dejo al final)


Método con wget
*/15 * * * * /usr/bin/wget http://tusitio/admin/cron.php


Método con php (recomendado )
*/15 * * * * /usr/bin/php /path/to/moodle/admin/cli/cron.php


 Realizamos lo siguiente:

1.- Abrimos consola en el servidor
2.- Tecleamos

sudo crontab -e

3.- Añadimos la linea con el método elegido al archivo de configuración
4.- Guardar los cambios y salir.
5.- Reiniciamos el demonio cron con el siguiente comando

service cron restart

Con esto las llamadas al script cron de moodle quedan automatizadas cada 15 minutos:



Mas información sobre cron:
https://es.wikipedia.org/wiki/Cron_%28Unix%29 
http://www.desarrollolibre.net/blog/tema/106/linux/ejecutar-script-automaticamente-con-cron-en-linux#.VeS4Z_Z_NBc
https://docs.moodle.org/25/en/Cron_with_Unix_or_Linux
https://www.digitalocean.com/community/tutorials/how-to-use-cron-to-automate-tasks-ubuntu-1804-es



Comentarios

Entradas populares