#!/usr/bin/perl -w # Jochen Rupp # Script checkt die mailq und generiert eine Liste von Benutzern, # die ihre mailquota ueberschritten haben nach dem Muster: # Klasse, Name, Vorname ################################################################################################# system ("clear"); # Wenn die Dateien bereits existieren, vorher loeschen: $file = "/root/mailq_output"; $file2 = "/root/mailq_voll_liste"; if (-e $file){ qx(/bin/rm $file); } if (-e $file2){ qx(/bin/rm $file2); } # Output von mailq erzeugen und filtern: qx(/usr/bin/mailq | grep localhost | /usr/bin/cut -f1 -d@ |sort -u > $file); print "Von folgenden Benutzern, die ihre Mailquota ueberschritten haben, haengen mails in der mailq; generiere Liste mit Namen und Klasse:\n\n"; open (OUT,">>$file2") || die "Konnte $file2 nicht oeffnen: $!\n"; foreach $a (qx(/bin/cat $file)) { chomp $a; # Fuehrende Leerzeilen entfernen: $a =~ s/^\s+//; # Name und Klasse generieren: chomp($vorname = qx(smbldap-usershow $a |grep gecos |cut -d : -f 2 |cut -d " " -f 2)); chomp($name = qx(smbldap-usershow $a |grep gecos |cut -d : -f 2 |cut -d " " -f 3)); chomp($klasse = qx(smbldap-usershow $a |grep homeDirectory |cut -d / -f 4)); # Ausgabe in Datei: print "$a wird verarbeitet...\n"; print OUT "$klasse, $name, $vorname\n"; } close (OUT) || die "Kann $file2 nicht schliessen: $!\n"; qx(/bin/rm $file); print "\n\nDie Liste steht nun unter $file2 bereit.\n"; exit;