Files
Deploiement_debian/OCS_Linux/ocs.sh

97 lines
3.3 KiB
Bash

func_ocs()
{
#=======================================================================
# FILE: ~ocs.sh
# USAGE: ./~ocs.sh
# DESCRIPTION: Installation du package ocs et du certificat nécessaire au fonctionnement en https
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
server="https://srv-vrm-ocs-001.operis.champlan/ocsinventory"
basevardir="/var/lib/ocsinventory-agent"
configdir="/etc/ocsinventory-agent"
logfile="/var/log/ocsagent.log"
ca="$configdir/cacert.pem"
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
#=======================================================================
##Définition des fonctions
func_dependances(){
apt-get update
apt install -y make gcc libmodule-install-perl dmidecode libxml-simple-perl libcompress-zlib-perl openssl libnet-ip-perl libwww-perl libdigest-md5-perl libdata-uuid-perl libcrypt-ssleay-perl libnet-snmp-perl libproc-pid-file-perl libproc-daemon-perl net-tools libsys-syslog-perl pciutils smartmontools read-edid nmap libnet-netmask-perl
}
func_nettoyage(){
rm -r $basevardir || true
rm -r $configdir || true
rm -r $logfile || true
}
func_decompression(){
tar xvzf "$folder/Ocsinventory-Unix-Agent-2.10.2.tar.gz"
cd "$folder/Ocsinventory-Unix-Agent-2.10.2"
}
func_installation(){
read -p "Les poste est déployé dans quel service?" service
env PERL_AUTOINSTALL=1 perl Makefile.PL && make && make install && perl postinst.pl --server=$server --basevardir=$basevardir --configdir=$configdir --logfile=$logfile --crontab --tag=$service --ssl=1 --nosoftware=0 --ca=$ca --debug --snmp --nowizard
mv "$folder/cacert.pem" $configdir
}
#=======================================================================
##Script
echo "Mise a jour dependances OCS"
if func_dependances >> /dev/null 2>> $log_erreurs; then
echo "Mise a jour dependances OCS réussies"
else
echo "Erreur lors de la mise a jour dependances OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "nettoyage version precedente de l'agent ocs"
if func_nettoyage >> /dev/null 2>> $log_erreurs; then
echo "Nettoyage des versions précédentes OCS réussies"
else
echo "Erreur lors du nettoyage des versions précédentes OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "decompression archive de l'Agent"
if func_decompression >> /dev/null 2>> $log_erreurs; then
echo "Décompression du package OCS réussies"
else
echo "Erreur lors de la décompression du package OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "Installation sans interaction de l'agent"
if func_installation >> /dev/null 2>> $log_erreurs; then
echo "Installation du package OCS réussies"
else
echo "Erreur lors de l'installation du package OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "test de la connexion au serveur"
if ocsinventory-agent --server $server >> /dev/null 2>> $log_erreurs;then
echo "Connexion au serveur OCS réussie"
else
echo "Tentative de connexion au serveur OCS échouée"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
}