Ich habe mit bind9 master-slave ein kleines script Problem.
Ich lasse die Domains per Script minütlich importieren damit der slave autoritär wird. Das funktioniert auch schon problemlos, aber...
Wenn bind9 nicht läuft, werden die Domains in die named.conf.local doppelt und dreifach eingetragen, danach startet der bind natürlich auch nicht mehr. Ich würde gerne in das folgende Script einbauen das erstens noch geprüft wird ob bind läuft, wenn er nicht läuft -> starten und dann erst importieren.
Code: Alles auswählen
#!/bin/sh
NAMED="/etc/bind/named.conf.local"
TMPNAMED="/tmp/zns-441245.temp"
TMPZONEFILE="/tmp/zones.txt"
TMP="/tmp/zns-732.temp"
ZONELOCATION="/var/cache/bind"
echo -n "Checking for new named.conf... "
wget -q http://urlvomdns1/irgendwas.conf -O $TMPNAMED
if [ -e $TMPNAMED ]
then
echo "done."
else
echo "no new data!"
exit
fi
echo -n "Generating zone names... "
cat $TMPNAMED |grep zone |cut -d" " -f"2" |cut -d"\"" -f2 > $TMPZONEFILE > $TMP
#sed '1,5d' $TMPZONEFILE > $TMP
mv $TMP $TMPZONEFILE
echo "done. ("$TMPZONEFILE")"
echo "Generating zone info... "
cat $TMPZONEFILE |while read ZONE; do
if [ -e $ZONELOCATION/$ZONE.db ]
then
echo "Zone $ZONE already available."
else
echo -n "New zone available ($ZONE)... "
echo "zone \"$ZONE\" {
type slave;
file \"$ZONELOCATION/$ZONE.db\";
masters { ipvomdns1; };
allow-notify { ipvomdns1; };
};" >> $NAMED
echo "added."
echo "Restarting Bind"
/etc/init.d/bind9 force-reload
fi
done
rm $TMPZONEFILE
rm $TMPNAMED
Habe hier dieses Script gefunden das einen toten Dienst wieder startet
Code: Alles auswählen
#!/bin/sh
FTB=$(fail2ban-client status)
if [ "$FTB" = "ERROR Unable to contact server. Is it
running?" ]; then
fail2ban-client start
fi
exit 0