1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
   | #!/usr/bin/perl
use warnings;
use strict;
use MIME::Lite;
use Sys::Hostname;
use Socket;
 
my $hostname = hostname;
 
my @users = (
  `ldapsearch -h localhost -D cn=proxyuser,ou=pam,dc=exemple,dc=org -w xxxxx -b ou=
People,dc=exemple,dc=org uid=* | grep "uid:" | sed 's/uid: //'`
);
 
foreach my $user (@users) {
  chomp($user);
  my @rate = split( ' ', `du -sk /export/home/$user` );
  if ( $rate[0] > 100000000 ) {
    my $fichier = 'attach.txt';
    open( ATTACH, '>', $fichier ) || die "$fichier : $!";
    print ATTACH "Attention utilisateur le serveur $hostname vient de verifier ceci : \n";
    my $mail
      = `ldapsearch -h localhost -D cn=proxyuser,ou=pam,dc=exemple=org -w xxxxx -b ou=People,dc=exemple,dc=org uid=$user | grep mail | sed 's/mail\: //'`;
    my @output = split( ' ', `du -sh /export/home/$user | sed 's/\/export//'` );
    print ATTACH "\n Votre repertoire depasse les 100Go merci de verifier :\n";
    print ATTACH "@output \n\n";
    print ATTACH " Destinataire : $mail \n";
    close(ATTACH);
 
    #Envoi de l'alerte
    my $msg = new MIME::Lite->new(
      From    => 'adm@exemple.org',
      To      => 'mdubois@exemple.org',
      Subject => 'Espace disque du repertoire de travail devient important sur CIM PACA',
      Type    => 'multipart/mixed',
    );
 
    $msg->attach(
      Type => 'TEXT',
      Data => "Resultat dans le fichier joint"
    );
 
    $msg->attach(
      Type     => 'TEXT',
      Path     => $fichier,
      Filename => $fichier,
    );
 
    $msg->send;
 
    #On efface le fichier
    unlink $fichier;
  }
} | 
Partager