Ejecutar tareas de Moodle manualmente por línea de comandos.

Moodle dispone de muchas tareas que realiza automáticamente: el cron (importante para la limpieza y funcionamiento ya que sincroniza el resto de tareas), las de backup, limpieza de la papelera, limpieza de backups, eliminación definitiva de cuentas eliminadas etc.

La mayoría de estas están programadas (como decimos sincronizadas por el cron) y puedes verlas en Administración del Sitio -> Tareas ( y sus submenús).

Pero en ocasiones nos puede interesar, ya sea para ver si funcionan correctamente, o para realizar una ejecución adicional, hacerlas manualmente. Algunas, como las de copia de seguridad, pueden incluso configurarse para sólo realizarse manualmente.
Hoy os decimos cómo hacerlo.

PD: recordad que podéis además, instalar Moosh para tener todavía más opciones por CLI.
PD2: en el artículo, donde pongo php a veces tenéis que poner la versión de php. Dependiendo de la configuración de vuestro servidor y con qué variante de php está corriendo la web. Nosotros usaremos la configuración general que es con php ( como si sólo hubiera una versión).
PD3: normalmente estos scripts deben ejecutarse con el usuario del servidor web.

Cómo ejecutar tareas de Moodle manualmente por línea de comando.

Os dejamos un listado e iremos rellenando si vamos .

  • Cron: el proceso más importante del que cuelga el resto de tareas. Tenéis que ir a la carpeta principal de Moodle y ejecutar:
php admin/cli/cron.php
  • Ejecutar las copias de seguridad automáticas:
php admin/cli/automated_backups.php

También con:

php admin/tool/task/cli/schedule_task.php --execute=\\core\\task\\automated_backup_task
  • Actualizar Moodle : sudo -u apache /usr/bin/php admin/cli/upgrade.php
  • Poner Moodle en mantenimiento: sudo -u apache /usr/bin/php admin/cli/maintenance.php –enable
    sudo -u apache /usr/bin/php admin/cli/maintenance.php –disable
  • Cambiar la contraseña de un usuario, incluyendo el administrador: sudo -u apache /usr/bin/php admin/cli/reset_password.php
  • Listado de tareas que se pueden ejecutar por cli: php admin/tool/task/cli/schedule_task.php –help
  • Purgar caché: php admin/cli/purge_caches.php
  • Finalizar todas las sesiones de usuarios: php admin/cli/kill_all_sessions.php

Los siguientes se ejecutan desde carpetademoodle/admin/tool/task/cli/

  • Limpiezas varias:

php schedule_task.php –execute=”\logstore_standard\task\cleanup_task”;
php schedule_task.php –execute=”\core\task\backup_cleanup_task”;
php schedule_task.php –execute=”\core\task\cache_cleanup_task”;
php schedule_task.php –execute=”\core\task\file_temp_cleanup_task”;
php schedule_task.php –execute=”\core\task\file_trash_cleanup_task”;
php schedule_task.php –execute=”\core\task\session_cleanup_task”;
php schedule_task.php –execute=”\core_files\task\conversion_cleanup_task”;
php schedule_task.php –execute=”\tool_recyclebin\task\cleanup_category_bin”;
php schedule_task.php –execute=”\tool_recyclebin\task\cleanup_course_bin”;
php schedule_task.php –execute=”\core\task\messaging_cleanup_task”;
php schedule_task.php –execute=”\core\task\delete_incomplete_users_task”;
php schedule_task.php –execute=”\core\task\delete_unconfirmed_users_task”;

Esperamos que os sirvan.