Aide sur mon script perl - Page 3

Résolu
  1. #!/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
    1. Modérateur
      #               my($u1,$s1,$h1,$g1,$u2,$s2,$h2,$g2) =  @tmp;
      

      cette ligne tu ne l'a mets pas en commentaire
      0
      1. ./gregperl.pl 
        Use of uninitialized value in concatenation (.) or string at ./gregperl.pl line 28.
        0
        1. Modérateur
          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
          1. 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
            1. Modérateur
              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
              1. 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
                1. Modérateur
                  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
                  1. 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
                    1. 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