#! /usr/bin/perl -w
use strict;
my $thisdir = "/path/to/thisdir";
my $thatdir = "/path/to/thatdir";
my $ip_add = "192.168.0.10";
my @mntargs;
if (!(-d "$thisdir")) {
@mntargs = ("/bin/mount", "${ip_add}:$thisdir", "$thisdir");
print "Mounting ${ip_add} for CC-Proc1 .htpasswd access...\n";
system (@mntargs);
if (!(-d "$thisdir")) {
email_error(${ip_add});
}
}
if (!(-d "$thatdir")) {
@mntargs = ("/bin/mount", "${ip_add}:$thatdir", "$thatdir");
print "Mounting ${ip_add} for CC-Proc2 .htpasswd access...\n";
system (@mntargs);
if (!(-d "$thatdir")) {
email_error(${ip_add});
}
}
sub email_error {
my $ip_add = shift;
my $hostname = `/bin/hostname`;
open(SENDMAIL, "|/usr/lib/sendmail -oi -t")
or die "Cannot fork for sendmail: $!\n";
print SENDMAIL <<EOF;
From: NFS Watcher <root\@${hostname}>
To: System Admin <penguinfuz\@anotherdomain.dom>
Subject: Something is broken with the NFS mount!
This email is generated by the NFS Watcher script on $hostname...
I noticed the NFS export from ${ip_add} was NOT mounted, but
whenever I tried mounting it, something didn't work.
Remember, until the NFS export from ${ip_add} is properly mounted,
the .htpasswd authentication will not work %100!
EOF
close(SENDMAIL) or warn "Oops, sendmail did not close nicely\n";
}
|