2 # script de mise à jour de la config' de FusionInventory
3 # syntaxe : auf-inventaire-config [<tag>]
4 DEFAULT_FILE="/etc/default/fusioninventory-agent"
5 CONFIG_FILE="/etc/fusioninventory/agent.cfg"
6 TAG_FILE="/etc/fusioninventory/tag"
11 \e[1;31mAttention :
\e[m
\e[1mvous devez configurer un code d'inventaire !
\e[m
13 Pour ce faire, utilisez la commande suivante :
\e[1;32mauf-inventaire-config PPn-Ixxxx
\e[m
14 où
\e[1;36mPPn
\e[m est le code d'implantation et
\e[1;36mIxxxx
\e[m est le numéro d'inventaire.
15 (note : cette commande est à lancer sous
\e[1;36mroot
\e[m, ou via
\e[1;36msudo
\e[m)
17 Exemple pour un portable à Montréal :
\e[1;36mauf-inventaire-config CA1-I1359
\e[m
18 Exemple pour un serveur à Danang :
\e[1;36mauf-inventaire-config VN2-I1014
\e[m
25 grep -q -x "${line}" "${file}" && return
26 left_part="`echo "${line}" | cut -d'=' -f1`="
27 sed -i "/^${left_part}/s/^/#/" "${file}"
28 echo "${line}" >> "${file}"
32 # traitement de l'option de tag par défaut
34 if [ "$1" = "-d" -o "$1" = "--default-tag" ] ; then
42 # récupération du tag (fourni ou sauvé)
46 # tag fourni en ligne de commande
48 elif [ -r "${TAG_FILE}" ] ; then
49 # récupération depuis son fichier dédié (à partir de la version 0.5)
50 tag="`cat "${TAG_FILE}"`"
52 # récupération d'un tag non auf-* depuis la config' de FusionInventory
53 # (permet de retrouver le tag entré avant le passage en version 0.4)
54 tag="`awk '/^#?tag =/{if($3!=""&&$3!~/^auf-/){tag=$3}}END{print tag}' "${CONFIG_FILE}"`"
55 if [ -z "${tag}" ] ; then
56 # récupération d'un éventuel tag auf-* depuis la config' de FusionInventory
57 tag="`awk '/^#?tag =/{if($3!=""){tag=$3}}END{print tag}' "${CONFIG_FILE}"`"
60 # tag vide, mais indication d'un tag par défaut ?
61 if [ -z "${tag}" -a -n "${default_tag}" ] ; then
62 # utilisation du tag par défaut
65 # tag vide ou non configuré (= toujours en auf-*) ?
66 if [ -z "${tag}" ] || expr match "${tag}" 'auf-' >/dev/null ; then
71 if [ "${need_config}" != "no" ] ; then
75 #echo "=> tag=[${tag}]"
79 # mise en conformité de la configuration de FusionInventory
82 update_file "${CONFIG_FILE}" "${line}"
84 server = https://glpi.auf.org/glpi/plugins/fusioninventory/
86 ca-cert-dir = /etc/ssl/certs
93 # configuration et sauvegarde du tag
95 if [ -n "${tag}" ] ; then
96 update_file "${CONFIG_FILE}" "tag = ${tag}"
97 if [ ! -e "${TAG_FILE}" ] ; then
99 chmod --reference="${CONFIG_FILE}" "${TAG_FILE}"
101 if [ "${tag}" != "`cat "${TAG_FILE}"`" ] ; then
102 echo "${tag}" > "${TAG_FILE}"
107 # mise en mode démon de FusionInventory
109 update_file "${DEFAULT_FILE}" "MODE=daemon"
112 # redémarrage du service
114 if [ -x /usr/sbin/service ] ; then
115 service fusioninventory-agent stop
117 service fusioninventory-agent start
118 else # support des anciennes distributions Debian (ex. : Lenny)
119 invoke-rc.d fusioninventory-agent stop
121 invoke-rc.d fusioninventory-agent start
124 echo "Envoi immédiat des informations d'inventaire..."
125 exec fusioninventory-agent --no-fork --logger=Stderr