Bonjour,
Bonjour,
J'ignore la raison, mais je crois que certaines tâches ne peuvent pas être exécutées par l'interface. Dont l'envoi de mails des forums
Dans le code Moodle ( lib/sessionlib.php ) on trouve ceci :
if (!CLI_SCRIPT && !$leavepagealone) { |
throw new coding_exception('Function cron_setup_user() cannot be used in normal requests!'); |
La 1ère condition ( !CLI_SCRIPT ) , pour moi, signifie que si l'on ne se trouve pas dans le contexte de la ligne de commande, alors la tâche ne s'exécute pas.
Je ne connais pas suffisamment le code Moodle, mais je l’interprète de cette façon.
Sinon, pouvez-vous lancer le script manuellement depuis la ligne de commande et récupérer le log dans un fichier ?
Exemple : /usr/bin/php /var/www/moodle/admin/cli/cron.php >> cron.log
A toute fin utile, de mon coté je gère/stocke les logs du cron de la façon suivante
- crontab
*/1 * * * * /usr/local/bin/moodle/system/cron_moodle.sh
Ceci lance non pas le cron directement, mais un petit script qui va le faire à la place
Le cron est lancé chaque minute - script
#!/bin/bash
date_log=`date +%Y%m%d-%H%M`
/usr/bin/php /var/www/moodle/admin/cli/cron.php >> /var/log/cron_moodle/cron_moodle.${date_log}.log 2>&1
find /var/log/cron_moodle/ -mtime +7 -type f -delete
Le script créé un timestamp lisible ( date_log ) , ajouté à la fin du nom de fichier
ceci donne un nom de la forme cron_moodle.20170925-0927.log ( 25/09/2017 : 09h27 )
Le cron s'exécute
la dernière ligne sert à supprimer les fichiers datant de plus de 7 jours
Je conserve donc tous les logs des cron sur 7 jours (chez moi env 130 Mo pour les 7 derniers jours, c'est pas énorme)