mise à jour de identMM.pl et résolution de bug
This commit is contained in:
parent
733c273a74
commit
f924142127
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
use Tk;
|
||||||
|
|
||||||
#********** INITIALISATION DE LA GENERATION FICHIER CHECKLIST *********
|
#********** INITIALISATION DE LA GENERATION FICHIER CHECKLIST *********
|
||||||
#my $CheckFile="/home/lalis/Documents/checklist.txt";
|
#my $CheckFile="/home/lalis/Documents/checklist.txt";
|
||||||
@ -100,7 +101,7 @@ my @DescMem=("0", # titre du chapitre general (@SmartTitres)
|
|||||||
|
|
||||||
#*********** 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 /dev/sd?`;
|
||||||
my @DescDisk=("0", # titre du chapitre general (@SmartTitres)
|
my @DescDisk=("0", # titre du chapitre general (@SmartTitres)
|
||||||
"0" # champs (@champsdisk) de donnees à extraire
|
"0" # champs (@champsdisk) de donnees à extraire
|
||||||
);
|
);
|
||||||
@ -108,6 +109,9 @@ my @DiskTitres=("\n########## Identification DISK ##########\n");
|
|||||||
|
|
||||||
my $D;
|
my $D;
|
||||||
my @tabsmart;
|
my @tabsmart;
|
||||||
|
my @temp2;
|
||||||
|
my $PathD;
|
||||||
|
my $nb=0;
|
||||||
|
|
||||||
#********** INITIALISATION DE LA GENERATION FICHIER RESULTAT *********
|
#********** INITIALISATION DE LA GENERATION FICHIER RESULTAT *********
|
||||||
my @RefMachine=("PC", "CM");
|
my @RefMachine=("PC", "CM");
|
||||||
@ -134,6 +138,30 @@ my $NomFic=undef;
|
|||||||
my $A;
|
my $A;
|
||||||
my $item;
|
my $item;
|
||||||
|
|
||||||
|
#********** INITIALISATION TRAITEMENT CODE REOUR RSYNC *********
|
||||||
|
my %CodeRetourRsync = (0 => "Succes",
|
||||||
|
1 => "Erreur de syntaxe ou d'utilisation",
|
||||||
|
2 => "Incompatibilite de protocole",
|
||||||
|
3 => "Erreurs lors de la selection des fichiers et des repertoires d'entree/sortie",
|
||||||
|
4 => "Action non supportee",
|
||||||
|
5 => "Erreur lors du démarrage du protocole client-serveur",
|
||||||
|
6 => "Demon incapable d'ecrire dans le fichier de log",
|
||||||
|
10 => "Erreur dans la socket E/S",
|
||||||
|
11 => "Erreur d'E/S fichier",
|
||||||
|
12 => "Erreur dans le flux de donnée du protocole rsync",
|
||||||
|
13 => "Erreur avec les diagnostics du programme",
|
||||||
|
14 => "Erreur dans le code IPC",
|
||||||
|
20 => "SIGUSR1 ou SIGINT reçu ",
|
||||||
|
21 => "Une erreur retournee par waitpid() ",
|
||||||
|
22 => "Erreur lors de l'allocation des tampons de mémoire principaux",
|
||||||
|
23 => "Transfert partiel dut à une erreur",
|
||||||
|
24 => "Transfert partiel dut à la disparition d'un fichier source",
|
||||||
|
25 => "La limite --max-delete a été atteinte",
|
||||||
|
30 => "Dépassement du temps d'attente maximal lors d'envoi/reception de donnees");
|
||||||
|
|
||||||
|
#********** INITIALISATION DE L'AFFICHAGE POPUP DE FIN DE TRAITEMENT *********
|
||||||
|
my @affich;
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
# PROGRAMME RENSEIGNEMENT DU FICHIER CHECKLIST
|
# PROGRAMME RENSEIGNEMENT DU FICHIER CHECKLIST
|
||||||
#########################################################################
|
#########################################################################
|
||||||
@ -246,9 +274,16 @@ foreach (@tabdmidecode) { # foreach @tabdmidecode
|
|||||||
push(@ident,$DiskTitres[$DescDisk[0]]);
|
push(@ident,$DiskTitres[$DescDisk[0]]);
|
||||||
# pour chaque disque
|
# pour chaque disque
|
||||||
foreach (@ListDisk) { # foreach disk
|
foreach (@ListDisk) { # foreach disk
|
||||||
|
# commande infos des disques
|
||||||
|
@tabsmart=`smartctl -i $_`;
|
||||||
|
# separation du chemin et nom du disque
|
||||||
(my $A, my $B, $D)=split /\//;
|
(my $A, my $B, $D)=split /\//;
|
||||||
chop($D);
|
chop($D);
|
||||||
@tabsmart=`smartctl -i /dev/$D`;
|
# memorisation chemin + nom du disque
|
||||||
|
$PathD =$_;
|
||||||
|
chop($PathD);
|
||||||
|
|
||||||
|
#@tabsmart=`smartctl -i /dev/$D`;
|
||||||
push(@ident,"\n*************** disk ".$D." *************\n");
|
push(@ident,"\n*************** disk ".$D." *************\n");
|
||||||
|
|
||||||
# pour chaque disque extraction des champs description
|
# pour chaque disque extraction des champs description
|
||||||
@ -259,7 +294,35 @@ push(@ident,"\n*************** disk ".$D." *************\n");
|
|||||||
push(@ident,$_);
|
push(@ident,$_);
|
||||||
}
|
}
|
||||||
} # fin boucle foreach tabsmart
|
} # fin boucle foreach tabsmart
|
||||||
|
# Sante du disque
|
||||||
|
push(@ident,"\n--------------- Etat Disk ".$D." --------------\n");
|
||||||
|
@temp=();
|
||||||
|
@temp=`smartctl -H $PathD`;
|
||||||
|
# pour chaque ligne de la commande smartctl
|
||||||
|
foreach (@temp) {
|
||||||
|
# recherche du resultat sante disk
|
||||||
|
#$nb++;
|
||||||
|
if ( m/result:/ ){
|
||||||
|
#$nb++;
|
||||||
|
#print "$nb\n";
|
||||||
|
# Affichage de la ligne pour POPUP
|
||||||
|
#push(@affich,"Partition"."sdisk".":"$_);
|
||||||
|
push(@affich,"Partition ".$D.": ".$_);
|
||||||
|
# si le resultat est OK alors enregistrement
|
||||||
|
if ( m/PASSED/ ){
|
||||||
|
#$nb++;
|
||||||
|
#print "$nb\n";
|
||||||
|
push(@ident,$_);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
# si le resultat est NOK alors enregistrement de la commande
|
||||||
|
@temp2=`smartctl -a $PathD`;
|
||||||
|
foreach (@temp2) {
|
||||||
|
push(@ident,$_);
|
||||||
|
} # fin foreach (@temp2)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} # fin foreach (@temp)
|
||||||
} # fin foreach disk
|
} # fin foreach disk
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
@ -356,24 +419,40 @@ print ($FOUT $_);
|
|||||||
close ($FIN);
|
close ($FIN);
|
||||||
close ($FOUT);
|
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
|
# PROGRAMME D'ENVOI DU FICHIER RESULTAT VERS LE SERVEUR
|
||||||
#########################################################################
|
#########################################################################
|
||||||
# Envoi du fichier concatené checklist plus caracteristiques PC sur 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/'");
|
my $ret=system("rsync --port 10073 -aP " . $PathFicout.$NomFic . " 'lalis69.ddns.net::lalis-ordis/'");
|
||||||
|
#my $ret=system("rsync --port 10073 -aP " . $PathFicout.$NomFic . " 'lalis68.ddns.net::lalis-ordis/'");
|
||||||
|
# sauvegarde du code retour
|
||||||
|
#my $ret=$?;
|
||||||
|
#print "******* $? ******\n";
|
||||||
|
#$ret=10;
|
||||||
|
#print "******* $ret ******\n";
|
||||||
|
|
||||||
|
# Libele et affichage du code retour de rsync
|
||||||
|
if (exists ($CodeRetourRsync{$ret})){
|
||||||
|
$_ = "Code retour rsync: ".$ret;
|
||||||
|
push(@affich,$_);
|
||||||
|
$_ = "Libele code retour rsync: ".$CodeRetourRsync{$ret};
|
||||||
|
push(@affich,$_);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
push(@affich,"Code retour rsync Inconnu!!! ".$ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# PROGRAMME DE L'AFFICHAGE POPUP DE FIN DE TRAITEMENT
|
||||||
|
#########################################################################
|
||||||
|
my $mw = MainWindow->new();
|
||||||
|
$mw->title("Resultat test HDD");
|
||||||
|
$mw->geometry("700x100");
|
||||||
|
foreach (@affich) {
|
||||||
|
# affichage dans la fenetre
|
||||||
|
$mw->Label(-text => $_)->pack;
|
||||||
|
}
|
||||||
|
MainLoop;
|
||||||
|
|
||||||
print "\n########## Nom fichier resultat: $NomFic ##########\n";
|
print "\n########## Nom fichier resultat: $NomFic ##########\n";
|
||||||
print "\n################ Traitement terminé ################\n";
|
print "\n################ Traitement terminé ################\n";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Summary: Install LALIS packages and configuration
|
Summary: Install LALIS packages and configuration
|
||||||
Name: task-lalis
|
Name: task-lalis
|
||||||
Version: 3.0
|
Version: 3.2
|
||||||
Release: %mkrel 1
|
Release: %mkrel 1
|
||||||
License: GPLv3
|
License: GPLv3
|
||||||
Group: Tools
|
Group: Tools
|
||||||
@ -197,8 +197,8 @@ do
|
|||||||
desktop "/$i"
|
desktop "/$i"
|
||||||
echo $DESKTOP
|
echo $DESKTOP
|
||||||
if ! [ -d "$i/$DESKTOP" ]; then
|
if ! [ -d "$i/$DESKTOP" ]; then
|
||||||
su -c "mkdir $i/Bureau" - "$USER"
|
su -c "mkdir $i/$DESKTOP" - "$USER"
|
||||||
echo "su -c mkdir $i/Bureau - $USER"
|
echo "su -c mkdir $i/$DESKTOP - $USER"
|
||||||
fi
|
fi
|
||||||
cp -fa /usr/share/kio_desktop/Lalis.desktop "$i/$DESKTOP/"
|
cp -fa /usr/share/kio_desktop/Lalis.desktop "$i/$DESKTOP/"
|
||||||
chown $USER:$USER "$i/$DESKTOP"
|
chown $USER:$USER "$i/$DESKTOP"
|
||||||
|
Reference in New Issue
Block a user