Script – named.conf.secondary
My Notes
#######
#
## Command Line Input – Create single secondary entry
#
#####
#!/bin/bash
# Edit IP variable to equal the IP address of the master name server
IP=10.0.0.1
echo -n “Enter Domain Name: ”
read name
echo “zone \”$name\” { type slave; masters { $IP; }; file \”/var/named/$name.sec\”; };” >> /etc/named.conf.secondary
#######
# Make Secondary named.conf file
# FROM MASTER named.conf
#######
#!/bin/bash
IP=10.0.0.1
cat /etc/named.conf |grep zone |grep -v “type slave”|grep -v named.ca|cut -d \” -f2 > secondarylist.txt
dt=$(date)
echo “// Vitex Secondary Zones $dt” > named.conf.secondary
for i in $( cat secondarylist.txt ); do
echo “zone \”$i\” { type slave; masters { $IP; }; file \”secondary/$i.sec\”; };” >> named.conf.secondary
echo item: $i
done
############
#
# PHP version
#
#######
<?php
define(’IP’,'10.0.0.1′);
function Main($file=’named.conf.secondary’)
{
if (!strlen($file) ||
!is_readable($file) ||
!is_file($file)) die(’Could not open file.’);
$cnt = file($file);
$fmt = array(’zone “%s” {’);
$fmt[] = ‘ type slave;’;
$fmt[] = ‘ file “secondary/%s.sec”;’;
$fmt[] = ‘ masters { %s; };’;
$fmt[] = ‘};’;
$fmt = join(”\n”,$fmt);
foreach($cnt as $line)
printf($fmt.”\n\n”,rtrim(substr($line, 4)),rtrim(substr($line,4)),IP);
}
if ($_SERVER['argc'] < 2) printf(”Usage: %s <file>\n”,$_SERVER['argv'][0]);
else Main($_SERVER['argv'][1]);
?>