Mise en place de jobs cron pour phplist

Après avoir un peu galéré pour la mise en place de jobs cron pour lire les flux rss et traîter la file dans phplist je vous livre le résultat de mes recherche.

Dans la doc il est donc qu’on peut mettre une ligne de ce type pour éxécuter un job cron :

/home/www/phplist/public_html/lists/admin/index.php -pgetrss -c /home/client/www/phplistigf.conf

He bien pas du tout, cela provoque une erreur au sujet de USER qui n’est pas défini.

Je suis tombé sur cette page http://docs.phplist.com/CommandLineScriptExamples où ils indiquent qu’il faut mettre un script en place par exemple à cet endroit /home/client/phplist.sh

#!/bin/bash

# Place config data in environment
export CONFIG

# Check the USER environment variable is set
if [ $USER ]; then
echo found USER variable
else
USER=www-data
#   USER=listprocessor
export USER
fi
# run the PHPlist index file with all parameters passed to this script
/usr/bin/php /home/www/phplist/public_html/lists/admin/index.php $*

Ne pas oublier de passer le script exécutable avec un chmod +x

Puis mettre les lignes suivantes dans le crontab :

/home/client/phplist.sh -pgetrss -c /home/client/www/phplistigf.conf         # pour getrss
/home/client/phplist.sh -pprocessqueue -c /home/client/www/phplistigf.conf         # pour processqueue

Je précise le fichier de configuration car j’utilise une seule installation de phplist pour plusieurs site, le fichier de configuration est donc différent pour chaque site (base de données différentes, paramètres différents, etc.)

On peut rajouter un petit >/dev/null à la fin des lignes cron une fois que tout fonctionne afin de ne pas avoir de mails contenant le retour de la console