Configurar cron do Moodle


O cron da plataforma Moodle é um script que pode ser executado tanto via CLI (linha de comando) quanto via URL. Caso a execução seja realizada via URL, será necessário fornecer uma senha de autenticação como parâmetro. Além disso, é necessário habilitar a execução do cron para que ele não seja exclusivo ao CLI, ou seja, para que também possa ser executado via URL.

1 - Execução via CLI no Linux

Para executar o cron do Moodle via linha de comando no ambiente Linux, utilizando o crontab, configure o seguinte comando:

*/1 * * * * /usr/bin/php MOODLE_DIR_INSTALL/admin/cli/cron.php >/dev/null

Esse comando agenda a execução do cron a cada minuto. Ele deve ser executado no mesmo servidor em que o Moodle está instalado. A expressão MOODLE_DIR_INSTALL deve ser substituída pelo caminho completo da pasta onde o Moodle está instalado no servidor.

2 - Execução via URL

Para executar o cron do Moodle utilizando uma URL completa, é necessário realizar algumas configurações no sistema. Essas configurações incluem habilitar a execução do cron via URL e definir uma senha de autenticação. Siga os passos abaixo:

Desabilitar a exclusividade do CLI

Acesse o seguinte endereço no Moodle:
MOODLE_URL/admin/search.php?query=onlycli


Ao acessar essa página, desmarque a configuração que define que o cron só pode ser executado via CLI. Por padrão, essa opção vem marcada, então é necessário desabilitá-la.

Definir uma senha para o cron

Acesse o seguinte endereço no Moodle:
MOODLE_URL/admin/search.php?query=cronremotepassword

Essa página permite definir a senha que deve ser passada como parâmetro na execução do cron via URL.

Para executar o cron a cada 1 minuto, configure o crontab no Linux com a seguinte linha:

*/1 * * * * wget -O - "MOODLE_URL/admin/cron.php?password=xxxx" >/dev/null

A configuração acima define como o cron deve ser programado para execução no crontab ou em qualquer serviço de agendamento que utilize a URL completa da plataforma Moodle. Neste caso, o parâmetro password deve ser substituído pela senha configurada anteriormente nesse endereço do Moodle MOODLE_URL/admin/search.php?query=cronremotepassword