From owner-freebsd-isp Tue Jul 16 17: 6:27 2002 Delivered-To: freebsd-isp@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C1D237B400 for ; Tue, 16 Jul 2002 17:06:24 -0700 (PDT) Received: from aurora.siteplus.com (aurora.siteplus.com [66.129.2.160]) by mx1.FreeBSD.org (Postfix) with ESMTP id E081143E3B for ; Tue, 16 Jul 2002 17:06:22 -0700 (PDT) (envelope-from jim@jwweeks.com) Received: from 1Cust98.tnt1.tampa2.fl.da.uu.net (1Cust98.tnt1.tampa2.fl.da.uu.net [67.243.21.98]) by aurora.siteplus.com (8.12.5/8.12.5) with ESMTP id g6H06G4f049940 for ; Tue, 16 Jul 2002 20:06:17 -0400 (EDT) (envelope-from jim@jwweeks.com) Date: Tue, 16 Jul 2002 20:06:15 -0400 (EDT) From: Jim Weeks To: freebsd-isp@FreeBSD.ORG Subject: Re: Scripts to Manage Virtual Hosts In-Reply-To: Message-ID: <20020716194233.D368-100000@veager.jwweeks.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-isp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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 () { # 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