SVN: admin/dns/check.sh

adamg adamg at pld-linux.org
Sat Feb 10 16:42:31 CET 2007


Author: adamg
Date: Sat Feb 10 16:42:31 2007
New Revision: 8258

Modified:
   admin/dns/check.sh
Log:
- few tweaks here and there

Modified: admin/dns/check.sh
==============================================================================
--- admin/dns/check.sh	(original)
+++ admin/dns/check.sh	Sat Feb 10 16:42:31 2007
@@ -1,38 +1,61 @@
 #!/bin/sh
-
 umask 022
 
-/usr/bin/svn status -u pld-linux.org.template | /bin/grep -q 'pld-linux.org.template' >/dev/null || exit 0
-/usr/bin/svn up -q pld-linux.org.mirrors || exit 0
-/usr/bin/svn up -q pld-linux.org.rsync || exit 0
-/usr/bin/svn up -q pld-linux.org.template || exit 0
+# check whether -f
+FORCE=0
+[ $# -gt 0 -a "x$1" == "x-f" ] && FORCE=1
+
+# check only when -f was not passed
+if [ $FORCE -eq 0 ]; then
+	# check if there is anything to update
+	/usr/bin/svn status --quiet --show-updates | grep -v Status | grep -q .
+	RET=$?
+
+	# nothing to do
+	[ $RET -eq 1 ] && exit 0
+fi;
+
+# seems like we have something to do
+/usr/bin/svn up --quiet
+
+#
+# preare zone files for separate views
+#
 
+# ftp mirrors
 . ./pld-linux.org.mirrors
-/bin/sed -e "s/%FTPMIRROR%/${FTP}/g" pld-linux.org.template >pld-linux.org.zone.tmp
-/bin/sed -e "s/%FTPMIRROR%/${FTP_TPNET}/g;s/217.149.246.5/${FTP_TPNET_ATM}/g" pld-linux.org.template >pld-linux.org.zone-tpnet.tmp
-/bin/sed -e "s/%FTPMIRROR%/${FTP_VNET}/g" pld-linux.org.template >pld-linux.org.zone-vnet.tmp
+/bin/sed -e "s/%FTPMIRROR%/${FTP}/g" pld-linux.org.template > pld-linux.org.zone
+/bin/sed -e "s/%FTPMIRROR%/${FTP_TPNET}/g;s/217.149.246.5/${FTP_TPNET_ATM}/g" pld-linux.org.template >pld-linux.org.zone-tpnet
+/bin/sed -e "s/%FTPMIRROR%/${FTP_VNET}/g" pld-linux.org.template >pld-linux.org.zone-vnet
 
+# rsync 
 . ./pld-linux.org.rsync
-/bin/sed -e "s/%RSYNC%/${RSYNC}/g" pld-linux.org.zone.tmp >pld-linux.org.zone.rsync.tmp
-/bin/sed -e "s/%RSYNC%/${RSYNC}/g" pld-linux.org.zone-tpnet.tmp >pld-linux.org.zone.rsync-tpnet.tmp
-/bin/sed -e "s/%RSYNC%/${RSYNC_VNET}/g" pld-linux.org.zone-vnet.tmp >pld-linux.org.zone.rsync-vnet.tmp
-
-/bin/mv -f pld-linux.org.zone.rsync.tmp pld-linux.org.zone
-/bin/mv -f pld-linux.org.zone.rsync-tpnet.tmp pld-linux.org.zone-tpnet
-/bin/mv -f pld-linux.org.zone.rsync-vnet.tmp pld-linux.org.zone-vnet
-
-/bin/rm -f *.tmp
-
-chmod 640 /var/lib/named/etc/*
-chown root:named /var/lib/named/etc/*
-
-chmod 644 /var/lib/named/M/pld-linux.org.*
+/bin/sed -i -e "s/%RSYNC%/${RSYNC}/g" pld-linux.org.zone
+/bin/sed -i -e "s/%RSYNC%/${RSYNC}/g" pld-linux.org.zone-tpnet
+/bin/sed -i -e "s/%RSYNC%/${RSYNC_VNET}/g" pld-linux.org.zone-vnet
+
+#
+# fix perms
+#
 chmod 754 check.sh
-chown root:root /var/lib/named/M/pld-linux.org.*
-chown root:root /var/lib/named/M/check.sh
-
-/usr/sbin/named-checkzone -q pld-linux.org pld-linux.org.zone pld-linux.org || exit 0
+chmod 640 named.conf.{pld,rest,tpnet,vnet} acl_{tpnet,vnet}.conf
+chown root:named named.conf.{pld,rest,tpnet,vnet} acl_{tpnet,vnet}.conf
+chmod 644 pld-linux.org.zone{,-{tpnet,vnet}} 
+
+#
+# check that we are safe to reload nameserver
+# 
+/usr/sbin/named-checkzone -q pld-linux.org pld-linux.org.zone       || exit 0
 /usr/sbin/named-checkzone -q pld-linux.org pld-linux.org.zone-tpnet || exit 0
-/usr/sbin/named-checkzone -q pld-linux.org pld-linux.org.zone-vnet || exit 0
+/usr/sbin/named-checkzone -q pld-linux.org pld-linux.org.zone-vnet  || exit 0
 
-/bin/killall -HUP named 
+#
+# move zone and config files to proper dir
+#
+mv named.conf.{pld,rest,tpnet,vnet} acl_{tpnet,vnet}.conf ../etc
+mv pld-linux.org.zone{,-{tpnet,vnet}} ../M
+
+# 
+# reload nameserver
+# 
+[ $FORCE -eq 0 ] && /bin/killall -HUP named || /etc/init.d/named restart


More information about the pld-cvs-commit mailing list