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 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?`;
@ -109,9 +114,10 @@ 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)
#########################################################################
@ -169,6 +181,7 @@ foreach (@RefItems) { # foreach @RefItems
} # fin boucle foreach @LshwTab
} # fin boucle foreach @LshwTitres
#########################################################################
# PROGRAMME DES INFORMATIONS GENERALES (LSUSB)
#########################################################################
@ -219,11 +232,13 @@ 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)
#########################################################################
@ -244,6 +259,7 @@ push(@ident,"\n*************** disk ".$D." *************\n");
push(@ident,$_);
}
} # 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 ################################

View File

@ -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