Documentación en Español/Guía del Administrador/Tareas del Cron: Difference between revisions
From Mahara Wiki
< Documentación en Español | Guía del Administrador
(Created page with "Las tareas del cron permiten que Mahara pueda realizar determinadas tareas de forma programada y a intervalos de tiempo regulares. Se trata fundamentalmente de funciones de mante…") |
No edit summary |
||
Line 9: | Line 9: | ||
<div id="section_1"> | <div id="section_1"> | ||
== Como configurar las tareas del cron == | ==Como configurar las tareas del cron== | ||
El scrip del cron se halla localizado en el fichero <code>lib/cron.php</code>. Lo único que necesita es configurar una tarea para visitar este script cada minuto. Esto puede realizarse a través del web yendo a: http://su-sitio-mahara.org/lib/cron.php, o mediante la línea de comandos: | El scrip del cron se halla localizado en el fichero <code>lib/cron.php</code>. Lo único que necesita es configurar una tarea para visitar este script cada minuto. Esto puede realizarse a través del web yendo a: http://su-sitio-mahara.org/lib/cron.php, o mediante la línea de comandos: | ||
Line 19: | Line 19: | ||
<div id="section_2"> | <div id="section_2"> | ||
=== Invocar el cron.php vía Web === | ===Invocar el cron.php vía Web=== | ||
Esta es la forma más simple de lanzar el cron. En su crontab, necesita escribir lo siguiente: | Esta es la forma más simple de lanzar el cron. En su crontab, necesita escribir lo siguiente: | ||
Line 31: | Line 31: | ||
</div><div id="section_3"> | </div><div id="section_3"> | ||
=== Invocar el cron.php a través de la línea de comandos === | ===Invocar el cron.php a través de la línea de comandos=== | ||
Este método es ligeramente más difícil pero permite monitorizar la salida del cron por separado. El truco consiste en lanzar las tareas del cron como el usuario web, de modo que tenga todo los derechos de acceso que necesite. Esto se puede realizar instalando las tareas del cron en el crontab del usuario del servidor web, o bien instalándolo en el crontab raíz, configurando el campo de usuario como usuario del web nserver | Este método es ligeramente más difícil pero permite monitorizar la salida del cron por separado. El truco consiste en lanzar las tareas del cron como el usuario web, de modo que tenga todo los derechos de acceso que necesite. Esto se puede realizar instalando las tareas del cron en el crontab del usuario del servidor web, o bien instalándolo en el crontab raíz, configurando el campo de usuario como usuario del web nserver |
Revision as of 16:19, 11 Mayıs 2011
Las tareas del cron permiten que Mahara pueda realizar determinadas tareas de forma programada y a intervalos de tiempo regulares. Se trata fundamentalmente de funciones de mantenimiento. Para ello, se debe lanzar un script de Mahara cada minuto, por ejemplo, y dicho script se encarga de lanzar todas las demás funciones de mantenimiento.
Las tareas de mantenimiento del cron incluyen, por ejemplo:
- Actualizar los alimentadores de sindicación RSS.
- Enviar las notificaciones email con actualización de comentarios en los posts, mensajes enviados a usuarios, etc.
- Limpiar ficheros obsoletos para salvar espacio.
Como configurar las tareas del cron
El scrip del cron se halla localizado en el fichero lib/cron.php
. Lo único que necesita es configurar una tarea para visitar este script cada minuto. Esto puede realizarse a través del web yendo a: http://su-sitio-mahara.org/lib/cron.php, o mediante la línea de comandos:
php /path/to/mahara/htdocs/lib/cron.php.
Ambos métodos tienen sus ventajas y desventajas.
Invocar el cron.php vía Web
Esta es la forma más simple de lanzar el cron. En su crontab, necesita escribir lo siguiente:
* * * * * curl http://su-sitio-mahara.org/lib/cron.php
que viene a decir algo así como: "cada minuto, utilice 'curl' para lanzar el script cron.php".
En esta forma simple, la salida generada por el cron.php se guardará en el fichero "error log" del servidor apache, donde también se almacenan todos los mensajes de diágnostico y posibles mensajes de error de todos los procesos y peticiones que el servidor está ejecutando. Por tanto, en este método resulta más dificil localizar y depurar los posibles mensajes de error del cron.
Invocar el cron.php a través de la línea de comandos
Este método es ligeramente más difícil pero permite monitorizar la salida del cron por separado. El truco consiste en lanzar las tareas del cron como el usuario web, de modo que tenga todo los derechos de acceso que necesite. Esto se puede realizar instalando las tareas del cron en el crontab del usuario del servidor web, o bien instalándolo en el crontab raíz, configurando el campo de usuario como usuario del web nserver
Para configurar el crontab del usuario del servidor web sería:
* * * * * php /path/to/mahara/htdocs/lib/cron.php >> /path/to/mahara/cron.log 2>&1
o, en el crontab raíz (reemplace www-data con el usuario del servidor web):
* * * * * www-data php /path/to/mahara/htdocs/lib/cron.php >> /path/to/mahara/cron.log 2>&1
Al invocar el cron a través de la línea de comandos, deberá tener presente lo siguiente:
- Asegúrese de que el fichero cron.log puede ser escrito por el usuario del servidor web. En Debian, se puede crear el directorio /var/log/mahara-cron, and y cambiar los permisos de forma recursiva a www-data mediante el comando chown. Una vez cambiados los permisos se puede configurar el path al fichero log /var/log/mahara-cron/cron.log.
- El fichero php.ini empleado por la línea de comandos PHP no es el mismo que el empleado por Apache PHP. Por ejemplo, en Debian Apache utiliza "/etc/php5/apache2/php.ini", mientras que la línea de comandos utiliza "/etc/php5/cli/php.ini". Por lo tanto, asegúrese de que ambos ficheros php.ini tienen la misma configuracióm, o utilice la opción -c flag al invocar PHP: * * * * * php -c /etc/php5/apache2/php.ini /path/to/mahara/htdocs/lib/cron.php >> /path/to/mahara/cron.log 2>&1