Page 1 of 1

MàJ automatique de la base UpNp

Posted: 10 Jun 2013 22:42
by velivole18
Bonjour,

Après plusieurs expériences, j'ai constaté que le programme "fuppesd" du service UpNp se comporte de la façon suivante :

- Si le fichier de la database n'existe pas, l'arrêt puis la relance du programme "fuppesd" le construit (ou le reconstruit) entièrement.
- Si le fichier de la database existe, l'arrêt puis la relance du programme "fuppesd" le met à jour.

Donc, pour faire suite au post suivant ("viewtopic.php?f=35&t=3864") et suite à mes constatations, je vous propose le shell suivant à installer sur votre serveur et à lancer automatiquement et de façon régulière par le service cron de Nas4Free. Vous constaterez au début du script la variable "REBUILD".
En positionnant cette variable à 1, vous provoquerez l'effacement du fichier database de "fuppesd" et donc sa reconstruction complète.
En positionnant cette variable à 0, le fichier database de "fuppesd" n'est pas supprimé, il sera donc simplement mis à jour (le script est proposé dans cette configuration ci-dessous).
N'oubliez pas de mettre les droits en exécution pour ce script !
Personnellement, je ne me suis pas cassé la tête, j'ai mis le script dans le même répertoire que celui de la database, c'est à dire du fichier "fuppes.db",
ainsi que la trace de l'exécution du script, mais vous pouvez les disposer ailleurs.
Les chemins en vert sont donc à adapter dans votre implémentation du script sur votre serveur.

Cordialement

#!/bin/bash

REBUILD=0
database=
chemin du fichier database/fuppes.db
trace=
chemin du fichier trace de ce programme/maj_fuppes.log

exec 1>${trace}
echo "-----------------------------------------------------"
date
echo "-----------------------------------------------------"
if (test `ps -acux | grep "root.*fuppesd" | wc -l` -eq 1)
then echo "kill de fuppesd ..."
killall fuppesd
while (test `ps -acux | grep "root.*fuppesd" | wc -l` -eq 0)
do sleep 5
done

if test -e ${database}
then if (test ${REBUILD} -eq 1)
then echo "Suppression du fichier ${database}"
rm ${database}
else echo "Mise à jour de ${database}"
fi
else echo "Le fichier ${database} n'existe pas !"
fi

echo "Relance du service fuppesd"
/usr/local/bin/fuppesd --log-level 2 \
--log-file /var/log/fuppes.log \
--config-file /var/etc/fuppes.cfg \
--temp-dir /tmp
else echo "Service fuppes non actif."
fi
echo "-----------------------------------------------------"
date
echo "-----------------------------------------------------"

Re: MàJ automatique de la base UpNp

Posted: 10 Jun 2013 23:14
by raulfg3
other usefull script to update fuppes: viewtopic.php?f=38&t=3921

Thanks velivole18, is based on your work.

Re: MàJ automatique de la base UpNp

Posted: 11 Jun 2013 19:32
by velivole18
Hi,
Thank you for your answer. I know this topic viewtopic.php?f=38&t=3921
It's the first I readed for this problem.
I tried it and I spoke about it with others members of this forum (viewtopic.php?f=35&t=3864),
but I have never managed to put on this solution.
I have a lot to look around this technique but always unsuccessfully.
That is why I wrote this new script. If somebody can re-test the solution of the activation by http link, I am interested.
Thanks for you work for everybody !