Aide sur mon script perl - Page 3

Résolu
Précédent
  • 1
  • 2
  • 3
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
affiche le script
0
specimen35 Messages postés 351 Statut Membre 17
 
#!/usr/bin/perl
use strict;use warnings;
use DBI;
use Quota;

my $base = 'test';
my $host = '10.27.0.51';
my $user = 'user';
my $pass = '';
my $mysql_sock = '/var/run/mysqld/mysqld.sock';

#Connection à la base de données
#my $db = DBI->connect("DBI:mysql:database=$base;
 #                      host=$host;
  #                     mysql_socket=$mysql_sock",
   #                    $user,
    #                   $pass,
     #                  {RaiseError => 1}
      #               );

my $dev = Quota::getdev('/home'); # à modifier avec ton chemin


while(my ($nom,$uid) = (getpwent())[0,2]){
        my @tmp = Quota::query($dev,$uid);
#                if(scalar(grep{$_!=0}@tmp)>0){
#               my($u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2) =  @tmp;
                print "$u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2\n";
        }
 #}

__END__
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                   
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
#               my($u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2) =  @tmp;

cette ligne tu ne l'a mets pas en commentaire
0
specimen35 Messages postés 351 Statut Membre 17
 
./gregperl.pl 
Use of uninitialized value in concatenation (.) or string at ./gregperl.pl line 28.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
fait comme ça

while(my ($nom,$uid) = (getpwent())[0,2]){
        my @tmp = Quota::query($dev,$uid);
#                if(scalar(grep{$_!=0}@tmp)>0){
#               my($u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2) =  @tmp;
#                print "$u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2\n";
 #       }
print "@tmp\n";
 }

0
specimen35 Messages postés 351 Statut Membre 17
 
voila se que j'ai dans mon script

#!/usr/bin/perl
use strict;use warnings;
use DBI;
use Quota;

my $base = 'test';
my $host = '10.27.0.51';
my $user = 'user';
my $pass = '';
my $mysql_sock = '/var/run/mysqld/mysqld.sock';

#Connection à la base de données
#my $db = DBI->connect("DBI:mysql:database=$base;
 #                      host=$host;
  #                     mysql_socket=$mysql_sock",
   #                    $user,
    #                   $pass,
     #                  {RaiseError => 1}
      #               );

my $dev = Quota::getdev('/home'); # à modifier avec ton chemin

while(my ($nom,$uid) = (getpwent())[0,2]){
        my @tmp = Quota::query($dev,$uid);
#                if(scalar(grep{$_!=0}@tmp)>0){
#               my($u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2) =  @tmp;
#                print "$u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2\n";
 #       }
print "@tmp\n";
 }
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                                                                                                                                                            
~                   


Et sa me donne un gros trou blanc !! quand je l'execute ( trou blanc = a la ligne plein de fois )
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
affiche le résultat de la commande (attention c'est une seule ligne)
 perl -MQuota -e '$dev=Quota::getdev("/home"); while(my ($nom,$uid) = (getpwent())[0,2]){ print Quota::query($dev,$uid),"\n"}'

ainsi que
repquota /dev/hda1


0
specimen35 Messages postés 351 Statut Membre 17
 
alors :

perl -MQuota -e '$dev=Quota::getdev("/home"); while(my ($nom,$uid) = (getpwent())[0,2]){ print Quota::query($dev,$uid),"\n"}'


pareil que le script que de l'affichage null

et voici le deuxieme :

repquota /dev/hda1
*** Rapport pour les quotas user sur le périphérique /dev/hda1
Période de sursis bloc : 7days ; période de sursis inode : 7days
                        Limites bloc               Limites fichier
Utilisateur     utilisé souple stricte sursis utilisé souple stricte sursis
----------------------------------------------------------------------
root      --   10921       0       0             28     0     0       
test      --       4    9000   10000              4  9000 10000     
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
exécute le script en tant que root

regarde chez moi

en tant que lami20j
lami20j@debian:~$  perl -MQuota -e '$dev=Quota::getdev("/home"); while(my ($nom,$uid) = (getpwent())[0,2]){ print Quota::query($dev,$uid),"\n"}'

























1876318800098012000










lami20j@debian:~$
en tant que root
debian:~# perl -MQuota -e '$dev=Quota::getdev("/home"); while(my ($nom,$uid) = (getpwent())[0,2]){ print Quota::query($dev,$uid),"\n"}'
1762000004000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
1876318800098012000
00000000
160004000
00000000
00000000
00000000
00000000
00000000
160004000
160004000
00000000
debian:~#
0
specimen35 Messages postés 351 Statut Membre 17
 
Oui je les fait en root ,

Je vien de voir un soucis au niveau de mes quotas quand je fait quotaon j'ai un messages d'erreur :(
0
specimen35 Messages postés 351 Statut Membre 17
 
ok c'est bon c'étais mon quota qui étais mal fait quand je faisait quotaon -a j'avais une erreur donc c'est bon mainteanant je part sur un script pour les quota impression et mail. je vais ouvrrir un autre topic pour cela , . Je vais toujours garder les meme script que l'on a fait pour les suota disque et essayer de voir si on peut le faire avec les quota impression et mail !!

Voila et encore merci ( maintenant si tu veut m'aider pour les autres script :) je ne dirais pas non lol )

En tout les cas je dirai : ENCORE UNE VICTOIRE DE CAN... EU DE LAMI20J
0
Précédent
  • 1
  • 2
  • 3