# linuxGetServerFreeSpace.pl # # by Dean Giles # Version 1.0 # October 15, 2008 # # This Perl script lists free disk space on the server. # # This script has been designed to be run on Linux. # The API set can be downloaded from http://developer.novell.com/wiki/index.php/Virtual_File_Services_for_NetWare. # # The Perl script requires the name of an NSS pool, a storage pool, and the name of the new snapshot # as input. It requires that NSS be installed and an NSS pool be present. # { # User help function if ($ARGV[0] eq "/?" || $ARGV[0] eq "-?") { print "USAGE: perl linuxGetServerFreeSpace.pl \n"; print "Example: perl linuxGetServerFreeSpace.pl \n"; print "this will list the free space on server disks. \n"; exit; } # Global Variables $file = "+". "". "". "". "". ""; # This is the command for initializing the virtual file for sending a command. print "File Name: $file \n"; print "Request Sent: $command \n"; if (!syswrite(NSSFILE, $command, length($command))) #Initialize the nss management file and write a command. { seek NSSFILE, 0, 0; # Make sure to start at the beginning of the file. sysread (NSSFILE, $error, 10000); #Read the error message. print "Error writing initialization to management file. \n"; print "$error \n\n"; #Print the error message to the screen. close (NSSFILE); } else { seek NSSFILE, 0, 0; # Make sure to start at the beginning of the file. sysread (NSSFILE, $reply, 10000); #Read the reply. print "$reply \n\n"; #Print the reply to the screen. close (NSSFILE); } }