1
0

identMM final

This commit is contained in:
Daniel Tartavel 2019-06-05 19:25:37 +02:00
parent d7d7545bac
commit 3adcfbe6fb
2 changed files with 60 additions and 10 deletions

View File

@ -3,6 +3,10 @@
use strict; use strict;
use warnings; 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) **************** #************* INITIALISATION DES INFORMATIONS GENERALES (LSHW) ****************
# copie de la commande dans un tableau pour 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) my @DescNet=("5", # titre du chapitre general (@LshwTitres)
"5", # champs (@ChampsLshw) de donnees à extraire "5", # champs (@ChampsLshw) de donnees à extraire
"\\*\\-network", # debut du bloc a extraire "\\*\\-network", # debut du bloc a extraire
"\\*\\-" # fin du bloc a extraire "\\*\\-" # fin du b loc a extraire
); );
# Descripteur de l'item battery # Descripteur de l'item battery
my @DescBat=("6", # titre du chapitre general (@LshwTitres) 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 "Part" # fin du bloc a extraire
); );
#*********** INITIALISATION DES INFORMATIONS DISK (SMARTCTL) ************** #*********** INITIALISATION DES INFORMATIONS DISK (SMARTCTL) **************
my @champsdisk=("Family|Model:|Serial|Capacity|Form|SATA"); my @champsdisk=("Family|Model:|Serial|Capacity|Form|SATA");
my @ListDisk=`ls -l /dev/sd?`; my @ListDisk=`ls -l /dev/sd?`;
@ -108,10 +113,11 @@ my @tabsmart;
my @RefMachine=("PC", "CM"); my @RefMachine=("PC", "CM");
my @ChampsRef=("numéro", # champs Identification ORDINATEUR my @ChampsRef=("numéro", # champs Identification ORDINATEUR
"numéro" # champs Identification CARTE MERE "numéro" # champs Identification CARTE MERE
); );
# Descripteur de l'item ordinateur # Descripteur de l'item ordinateur
my @DescOrdi2=("0", # titre du chapitre general (@LshwTitres) 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 "localhost", # debut du bloc a extraire
"\\*\\-" # fin du bloc a extraire "\\*\\-" # fin du bloc a extraire
); );
@ -128,6 +134,12 @@ my $NomFic=undef;
my $A; my $A;
my $item; 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) # PROGRAMME DES INFORMATIONS GENERALES (LSHW)
######################################################################### #########################################################################
@ -167,7 +179,8 @@ foreach (@RefItems) { # foreach @RefItems
} }
} # fin boucle foreach temp } # fin boucle foreach temp
} # fin boucle foreach @LshwTab } # fin boucle foreach @LshwTab
} # fin boucle foreach @LshwTitres } # fin boucle foreach @LshwTitres
######################################################################### #########################################################################
# PROGRAMME DES INFORMATIONS GENERALES (LSUSB) # PROGRAMME DES INFORMATIONS GENERALES (LSUSB)
@ -219,10 +232,12 @@ foreach (@tabdmidecode) { # foreach @tabdmidecode
if ( m/$ChampsMem[$DescMem[1]]/ ){ if ( m/$ChampsMem[$DescMem[1]]/ ){
s/\s+/ /; s/\s+/ /;
#print; #print;
push(@ident,$_); push(@ident,$_);
} }
} # fin boucle foreach temp } # fin boucle foreach temp
} # fin boucle foreach @tabdmidecode } # fin boucle foreach @tabdmidecode
######################################################################### #########################################################################
# PROGRAMME DES INFORMATIONS DISK (SMARTCTL) # PROGRAMME DES INFORMATIONS DISK (SMARTCTL)
@ -243,7 +258,8 @@ push(@ident,"\n*************** disk ".$D." *************\n");
#print; #print;
push(@ident,$_); push(@ident,$_);
} }
} # fin boucle foreach tabsmart } # fin boucle foreach tabsmart
} # fin foreach disk } # fin foreach disk
######################################################################### #########################################################################
@ -315,18 +331,52 @@ if ((defined $RefPC) && ($RefPC ne "") && !($RefPC =~ m/\s+/))
$NomFic="ERROR.txt"; $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 # 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 ($Fout "TOTO\n");
#print "\n"; #print "\n";
# Recopie du tableau caracteristiques PC dans le fichier ref PC ou carte $NomFic
foreach(@ident){ foreach(@ident){
#print ($Fout $_); print ($FOUT $_);
print("$_"); #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########## Nom fichier resultat: $NomFic ##########\n";
print "\n################ Traitement terminé ################\n";
print "\n"; print "\n";
################################ FIN PROGRAMME ################################ ################################ FIN PROGRAMME ################################

View File

@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Comment[fr_FR]=Outils de test et d'inventaire matériel de LALIS Comment[fr_FR]=Outils de test et d'inventaire matériel de LALIS
Comment=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[fr_FR]=Test
GenericName=Test GenericName=Test
Icon=bleachbit Icon=bleachbit