]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/backup/files/default/expire-backups
Add new source for taginfo
[chef.git] / cookbooks / backup / files / default / expire-backups
index 0cd75a5029dba6cbafceb5effec5f58f4be775ab..f05026193ec4c6292d8636f14ff146bc18ff42e4 100644 (file)
@@ -20,7 +20,7 @@ my @dates;
 
 if ($prefix)
 {
-    $prefix = "${prefix}-";
+    $prefix = "\Q${prefix}-\E";
 }
 else
 {
@@ -48,14 +48,18 @@ my $keep = qr/^${prefix}(?:${dates})\./;
 
 opendir(DIR, "$dir") || die "Can't open ${dir}: $!";
 
-while (my $file = readdir(DIR))
-{
-#    print "Expiring $file\n" if $file =~ $match && $file !~ $keep;
-    unlink("${dir}/${file}") if $file =~ $match && $file !~ $keep;
-}
+my @files = sort(grep(/$match/, readdir(DIR)));
 
 closedir(DIR);
 
+pop @files;
+
+for my $file (@files)
+{
+#    print "Expiring $file\n" if $file !~ $keep;
+    unlink("${dir}/${file}") if $file !~ $keep;
+}
+
 exit 0;
 
 sub Monday