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