[merged] suess
authorasuess@dns.net.schlittermann.de
Mon, 02 Aug 2010 12:34:02 +0200
branchsuess
changeset 5 a179476e5c87
parent 2 129d99ceb301 (current diff)
parent 4 da5c12e84a6b (diff)
child 6 d6ebe1750fec
[merged]
update-serial
--- a/update-serial	Mon Aug 02 11:51:16 2010 +0200
+++ b/update-serial	Mon Aug 02 12:34:02 2010 +0200
@@ -13,12 +13,14 @@
 #   the current directory)
 # . optionally reload the named
 
+
 use strict;
+use warnings;
 
 use File::Basename;
 use File::Copy;
 
-my $dnssec_sign = "/home/asuess/dnstools/dnssec-sign";
+my $dnssec_sign = "dnssec-sign";
 my $master_dir = "/etc/bind/master";
 
 my $ME = basename $0;
@@ -32,7 +34,7 @@
 END { cleanup(); }
 
 $ARGV[0] eq "-y" and $opt_yes = 1, shift;
-@Zones = @ARGV ? @ARGV : <$master_dir/*>;
+@Zones = @ARGV ? @ARGV : glob("$master_dir/*");
 
 
 MAIN: {
@@ -46,12 +48,11 @@
 	$date = "$yy$mm$dd";
 
 
-	while ($file = shift @Zones) {
+	while (my $file = shift @Zones) {
 
 		my $file_basename = basename($file);
 
 		$file =~ s#($master_dir)(/.*)#$1$2$2#;
-
 		local (*I, *O);
 		my $done = 0;
 
@@ -88,9 +89,9 @@
 				s/$serial/$sdate$scount/;
 
 				# dnssec - new sign
-				if (-e "$dnssec_sign") {
-					print `$dnssec_sign $file_basename`;
-				}
+				system "$dnssec_sign $file_basename";
+				die "$dnssec_sign not found ($!)" if $? == -1;
+				exit 1 if $?;
 			};
 			print O;
 		}