equal
  deleted
  inserted
  replaced
  
    
    
     1 #!/bin/bash  | 
         | 
     2   | 
         | 
     3 ZONE_DIR="/etc/bind/master"	# ordner fuer die einzelnen zonedateiordner  | 
         | 
     4 ABL_ZEIT=30			# zeit in minuten waehrend der 2 keys verwendet werden / ungefaehr doppelte TTL   | 
         | 
     5   | 
         | 
     6 cd $ZONE_DIR  | 
         | 
     7 for DOMAIN in *  | 
         | 
     8 do  | 
         | 
     9   | 
         | 
    10 	if ( find $ZONE_DIR/$DOMAIN -name "index*" -mmin +$ABL_ZEIT >/dev/null )	# prueft die schluesselindexdateien  | 
         | 
    11 	then										# auf zeitpunkt der aenderung  | 
         | 
    12   | 
         | 
    13 		cd $ZONE_DIR/$DOMAIN  | 
         | 
    14 		INDEX_FILE=`find . -name "index*" -mmin +$ABL_ZEIT`		# schreibt eine liste INDEX_FILE aller  | 
         | 
    15 										# dateien die vor ABL_ZEIT erstellt worden  | 
         | 
    16 		for INDEX in $INDEX_FILE  | 
         | 
    17 		do  | 
         | 
    18 		  | 
         | 
    19 			if ( wc -l $INDEX | grep ^2 > /dev/null )	# prueft die indexdatei auf anzahl an eintraegen  | 
         | 
    20 			then						  | 
         | 
    21 				INDEX=${INDEX#./}			 | 
         | 
    22 				echo aktualisiert $INDEX in $DOMAIN  | 
         | 
    23 				  | 
         | 
    24 				DNS_KEY=`tail -n1 $INDEX` 		# speichert den letzten eintrag aus dem  | 
         | 
    25 									# index in die variable DNS_KEY  | 
         | 
    26 			  | 
         | 
    27 				echo $DNS_KEY > $ZONE_DIR/$DOMAIN/$INDEX	# schreibt nur die variable  | 
         | 
    28 										# DNS_KEY in die indexdatei  | 
         | 
    29 	  | 
         | 
    30 				rm $(ls K*[key,private] | grep -v "`cat index.zsk`" | \  | 
         | 
    31 				grep -v "`cat index.ksk`") 2> /dev/null		# loesche alle schluessel die nicht in der indexdatei  | 
         | 
    32 										# stehen  | 
         | 
    33 				mv $DOMAIN $DOMAIN.old  | 
         | 
    34 				grep -v 'DNSKEY' $DOMAIN.old >> $DOMAIN		# erzeugt ein backup und entfernt alle schluessel  | 
         | 
    35 										# aus der zonedatei  | 
         | 
    36 				cat K$DOMAIN.*key >>$DOMAIN			# schreibt die aktuellen schluessel in die zonedatei  | 
         | 
    37 				dnssec-signzone $DOMAIN  | 
         | 
    38 			fi  | 
         | 
    39 			  | 
         | 
    40   | 
         | 
    41 		done  | 
         | 
    42 	fi  | 
         | 
    43 done  | 
         |