/usr/local/bin/perl -w
###############################################################################
##
## local-samba-stats.pl
##
## Authors : Gael Jean
##
## Arguments : See help
##
################################################################################
use strict ;
################################################################################
my ( $status ) = eval { Main ( @ARGV ) || 0 } ;
if (
[email protected] ) {
print STDERR
[email protected] ;
$status = 1 ;
}
exit $status ;
################################################################################
sub Main {
my ( $files, $processes, $shares ) = 0 ;
my $command = "/exploit/samba/bin/smbstatus -p" ;
open ( OUTPUT, "$command |" ) || die "$!\n" ;
# Parsing output
foreach ( <OUTPUT> )
{
$processes++ if /^\d+/ ;
}
close ( OUTPUT ) ;
my $command = "/exploit/samba/bin/smbstatus -S" ;
open ( OUTPUT, "$command |" ) || die "$!\n" ;
# Parsing output
foreach ( <OUTPUT> )
{
$shares++ if /^[^\s]+\s+\d+/ ;
}
close ( OUTPUT ) ;
my $command = "/exploit/samba/bin/smbstatus -L" ;
open ( OUTPUT, "$command |" ) || die "$!\n" ;
# Parsing output
foreach ( <OUTPUT> )
{
$files++ if /^\d+/ ;
}
close ( OUTPUT ) ;
# Print output
print "processes:$processes shares:$shares files:$files" ;
print "\n" ;
}
Regards.