Bonjour,
Je tente désespérément d'installer Squint-0.3.18 sur un serveur IPCOP 1.4.21 et je rencontre quelques "soucis" avec le script squint.cron.sh.
Ce que je fais :
1) Je décompacte l'archive
tar -zxvf squint.tgz
2) Je copie squint.pl et squint.cron.sh dans /usr/local/bin
cp squint.pl squint.cron.sh /usr/local/bin
3) Je créé le répertoire squint dans /home/httpd/html/
mkdir squint
4) J'édite squint.cron.sh et je modifie les variables
BASEDIR = /home/httpd/html \
LOGDIR = /var/log/squid \
HTTPDCONF=/etc/httpd/conf/httpd.conf
5) Comme indiquer dans la doc squint je lance la commande squint.cron.sh init pour créer les entrées dans la tabble cron et quelques repèrtoires de stockage des états ... et là les ennuis commencent !
Le système me renvoi un "/usr/local/bin/squint.cron.sh: line 61: tty: command not found" dés plus inquietant !
Je décide d'éditer le fichier squint.cron.sh et de mettre en commentaire les lignes avec la fonction incriminée :
# If we are not on a tty, then log to file
#tty -s || {
# exec >& $BASEDIR/squint.log
# date
# trap "date" EXIT
#}
Je relance la commande squint.cron.sh init, et là pas d'erreur.
Je constate la création des répertoires squint dans /home/httpd/html/ et all dans /home/httpd/html/squint, ainsi que de plusieurs fichiers index.html.
En revanche, aucune entrée dans fcrontab (fcrontab -l), ce qui après vérification semble normale car le script squint.cron.sh cherche à modifier le fichier crontab et non fcrontab.
function checkcrontab()
{
# install CRONTAB if crontab is writable
CRONTAB="/etc/crontab"
[ -w $CRONTAB ] || return
grep -q "squint" $CRONTAB ||
echo "# squint squid reports
# Weekly, on Mondays
00 01 * * Monday root /usr/local/bin/squint.cron.sh weekly
# Monthly, on the first day of the month
00 02 1 * * root /usr/local/bin/squint.cron.sh monthly
# Daily at 3am
00 03 * * * root /usr/local/bin/squint.cron.sh daily" >> $CRONTAB && killall -1 cron crond 2>/dev/null
}
Toujours en me rapportant à la doc (succinte) de squint je lance la commande squint.cron.sh all pour générer les états à partir des logs squid.
Cette fois le' système me renvoi un "/usr/local/bin/squint.cron.sh: line 140: xargs: command not found
"
Je décide donc de me passer du script squint.cron.sh et je génère directement les états avec la commande cat /var/log/squid/access.log | ./squint.pl /home/httpd/html/squint/.
Tout fonctionne alors à merveille, les états sont générés et accessibles via le navigateur par https://IPCOP:XXX/squint/index.html
Cependant, je dois lancer cette commande manuellement chaque jour et je ne peux pas générer d'états à partir des fichiers acces.log archivés.
Je m'en remet donc à vous pour m'apporter un peu d'aide et répondre à mes questions :
Pourquoi ma version d'IPCOP ne dispose pas de la commande "TTY" ?
Pourquoi ma version d'IPCOP ne dispose pas de lacommande "XARG"
Comment modifier le script squint.cron.sh pour qu'il modifie le fcrontab et non le crontab ?
Plus généralement, cette version de squint (0.3.18) est-elle supportée par IPCOP V 1.4.21 ?
Merci.