Date: Tue, 16 Jul 2002 20:06:15 -0400 (EDT) From: Jim Weeks <jim@jwweeks.com> To: freebsd-isp@FreeBSD.ORG Subject: Re: Scripts to Manage Virtual Hosts Message-ID: <20020716194233.D368-100000@veager.jwweeks.com> In-Reply-To: <Pine.BSF.4.21.0207121029090.45401-300000@thud.tbe.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Since everyone is in the sharing mood, maybe this will be helpful. I
wrote this some time ago to add sub-domains, and have carried it around
from script to script. Maybe not the most elegant coding, but it works.
Regards,
--
Jim
$dateCmd = '/bin/date';
chop ($dateStamp = `$dateCmd +"%Y%m%d"`);
$recfile = "/etc/namedb/XXXXXX.com";
# add new named entry
sub named {
# Open record file for reading.
open(NAMED,"$recfile") || die ("can't open $recfile");
while (<NAMED>) {
# Find and extract serial number.
if ($_ =~ /Serial/) { $serno = $_;
$serno =~ s/\D+//g;
$serno =~s/(\d{4})(\d{2})(\d{2})(\d{2})/$serno/;
$oldate = $1 . $2 . $3;
$yr=$1; $mo=$2; $dy=$3; $tt=$4;
# Increment serial number if already updated today.
if ($dateStamp eq $oldate) {
++$tt;
}
else { $tt="00"; }
# Replace serial number.
$_ =~ s/\d+/$dateStamp$tt/;
}
# Construct new record.
push (@ips,$_);
}
close(NAMED);
# Write new config file.
open(NAMED,">$recfile") || die ("can't open $recfile");
print NAMED @ips;
print NAMED "$user IN A XXX.XXX.XXX.XXX\n";
close(NAMED); undef @ips;
}
# restart named
sub restart_named {
open(CMD,"|/bin/kill -1 `cat /var/run/named.pid`");
close (CMD);
}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020716194233.D368-100000>
