From 3adcfbe6fb599fc1784174a432dba4dd2141dcb5 Mon Sep 17 00:00:00 2001 From: Daniel Tartavel Date: Wed, 5 Jun 2019 19:25:37 +0200 Subject: [PATCH] identMM final --- SOURCES/identMM.pl | 68 ++++++++++++++++++++++++++++++++++++++------ SOURCES/test.desktop | 2 +- 2 files changed, 60 insertions(+), 10 deletions(-) diff --git a/SOURCES/identMM.pl b/SOURCES/identMM.pl index 611e7fc..35a9035 100755 --- a/SOURCES/identMM.pl +++ b/SOURCES/identMM.pl @@ -3,6 +3,10 @@ use strict; use warnings; +#********** INITIALISATION DE LA GENERATION FICHIER CHECKLIST ********* +#my $CheckFile="/home/lalis/Documents/checklist.txt"; +my $CheckFile="/usr/share/lalis/checklist.txt"; +my $PathFicout="/usr/share/lalis/"; #************* INITIALISATION DES INFORMATIONS GENERALES (LSHW) **************** # copie de la commande dans un tableau pour lshw @@ -58,7 +62,7 @@ my @DescDisp=("4", # titre du chapitre general (@LshwTitres) my @DescNet=("5", # titre du chapitre general (@LshwTitres) "5", # champs (@ChampsLshw) de donnees à extraire "\\*\\-network", # debut du bloc a extraire - "\\*\\-" # fin du bloc a extraire + "\\*\\-" # fin du b loc a extraire ); # Descripteur de l'item battery my @DescBat=("6", # titre du chapitre general (@LshwTitres) @@ -93,6 +97,7 @@ my @DescMem=("0", # titre du chapitre general (@SmartTitres) "Part" # fin du bloc a extraire ); + #*********** INITIALISATION DES INFORMATIONS DISK (SMARTCTL) ************** my @champsdisk=("Family|Model:|Serial|Capacity|Form|SATA"); my @ListDisk=`ls -l /dev/sd?`; @@ -108,10 +113,11 @@ my @tabsmart; my @RefMachine=("PC", "CM"); my @ChampsRef=("numéro", # champs Identification ORDINATEUR "numéro" # champs Identification CARTE MERE - ); + ); + # Descripteur de l'item ordinateur my @DescOrdi2=("0", # titre du chapitre general (@LshwTitres) - "0", # champs (@ChampsLshw) de donnees à extraire + "0", # chamextraireps (@ChampsLshw) de donnees à extraire "localhost", # debut du bloc a extraire "\\*\\-" # fin du bloc a extraire ); @@ -128,6 +134,12 @@ my $NomFic=undef; my $A; my $item; +######################################################################### +# PROGRAMME RENSEIGNEMENT DU FICHIER CHECKLIST +######################################################################### +# Renseignement du fichier checklist.txt de l'ordinateur par l'opérateur +system("su -c 'kwrite $CheckFile' lalis"); + ######################################################################### # PROGRAMME DES INFORMATIONS GENERALES (LSHW) ######################################################################### @@ -167,7 +179,8 @@ foreach (@RefItems) { # foreach @RefItems } } # fin boucle foreach temp } # fin boucle foreach @LshwTab -} # fin boucle foreach @LshwTitres +} # fin boucle foreach @LshwTitres + ######################################################################### # PROGRAMME DES INFORMATIONS GENERALES (LSUSB) @@ -219,10 +232,12 @@ foreach (@tabdmidecode) { # foreach @tabdmidecode if ( m/$ChampsMem[$DescMem[1]]/ ){ s/\s+/ /; #print; + push(@ident,$_); } } # fin boucle foreach temp } # fin boucle foreach @tabdmidecode + ######################################################################### # PROGRAMME DES INFORMATIONS DISK (SMARTCTL) @@ -243,7 +258,8 @@ push(@ident,"\n*************** disk ".$D." *************\n"); #print; push(@ident,$_); } - } # fin boucle foreach tabsmart + } # fin boucle foreach tabsmart + } # fin foreach disk ######################################################################### @@ -315,18 +331,52 @@ if ((defined $RefPC) && ($RefPC ne "") && !($RefPC =~ m/\s+/)) $NomFic="ERROR.txt"; } + +######################################################################### +# PROGRAMME DE CONCATENATION DES FICHIERS CHECKLIST PLUS CARACTERISTIQUES +######################################################################### +# La concatenation des fichiers checklist suivi de caractéristiques +# se trouve dans un fichier nommé avec la référence du PC ou de la carte # Enregistrement du tableau @ident dans le fichier de nom $NomFic -open(my $Fout, ">",$NomFic) or die "Ouverture du fichier $NomFic impossible\n"; + +open(my $FIN, "<",$CheckFile) or die "Ouverture du fichier $CheckFile impossible\n"; +open(my $FOUT, ">",$PathFicout.$NomFic) or die "Ouverture du fichier $NomFic impossible\n"; +# Recopie du fichier checklist dans le fichier ref PC ou carte $NomFic +while(<$FIN>){ +print ($FOUT $_); # ecrit la ligne dans le fichier $NomFic +#print("$_"); +} #print ($Fout "TOTO\n"); #print "\n"; +# Recopie du tableau caracteristiques PC dans le fichier ref PC ou carte $NomFic foreach(@ident){ -#print ($Fout $_); -print("$_"); +print ($FOUT $_); +#print("$_"); } -close ($Fout); +close ($FIN); +close ($FOUT); +# Concaténation des fichiers checklist et caracteristique (identPC) +#open(my $FIN, "<",$NomFic) or die "Ouverture du fichier $NomFic impossible\n"; +#open(my $FOUT, ">>",$CheckFile) or die "Ouverture du fichier $CheckFile impossible\n"; +#print ($Fout "TOTO\n"); +#print "\n"; +#while(<$FIN>){ +#print ($FOUT $_); # ecrit la ligne dans le fichier $CheckFile +#print("$_"); +#} +#close ($FIN); +#close ($FOUT); + +######################################################################### +# PROGRAMME D'ENVOI DU FICHIER RESULTAT VERS LE SERVEUR +######################################################################### +# Envoi du fichier concatené checklist plus caracteristiques PC sur le serveur +system("rsync --port 10073 -aP " . $PathFicout.$NomFic . " 'lalis69.ddns.net::lalis-ordis/'"); + print "\n########## Nom fichier resultat: $NomFic ##########\n"; +print "\n################ Traitement terminé ################\n"; print "\n"; ################################ FIN PROGRAMME ################################ diff --git a/SOURCES/test.desktop b/SOURCES/test.desktop index a98e8b0..9d5d404 100644 --- a/SOURCES/test.desktop +++ b/SOURCES/test.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Comment[fr_FR]=Outils de test et d'inventaire matériel de LALIS Comment=Outils de test et d'inventaire matériel de LALIS -Exec=kdesu -u root /usr/local/bin/sync_check.sh +Exec=kdesu -u root /usr/local/bin/identMM.pl GenericName[fr_FR]=Test GenericName=Test Icon=bleachbit