chiark / gitweb /
expire-iso8601: clean up old .rm
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 20 Aug 2020 00:20:31 +0000 (01:20 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 20 Aug 2020 00:20:31 +0000 (01:20 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
scripts/expire-iso8601

index a36729860079d715388c309487f28984a455070b..548baae60c2a18ac3a122d9fe12e9250e6bccb30 100755 (executable)
@@ -52,6 +52,7 @@ use DateTime::Format::Strptime;
 
 $|=1;
 
+our @oldfiles;
 our @files;
 our $rm = 1;
 our $recurse = 1;
@@ -70,9 +71,16 @@ sub scan () {
   foreach my $f (<[0-9]*>) {
     if ($f  !~ m/^ \d\d\d\d - \d\d - \d\d 
                 (?: T \d\d \: \d\d (?: \: \d\d )?
-                  (?: [-+] \d{1,2} \:? \d\d )? )? $/x) {
+                  (?: [-+] \d{1,2} \:? \d\d )? )? 
+                ( \.rm )? $/x) {
       print STDERR "ignoring $f\n";
     }
+
+    if ($1) {
+      push @oldfiles, $f;
+      next;
+    }
+
     my @t = Date::Parse::strptime($f);
     @t = map { $_ // 0 } @t;
     my $t = mktime @t;
@@ -193,6 +201,10 @@ sub do_rm ($) {
 }
 
 sub implement () {
+  foreach (reverse sort @oldfiles) {
+    printf "remove %s - old\n", $_;
+    do_rm($_);
+  }
   foreach (reverse @files) {
     next unless @{$_->{U}};
     printf "keep %s for %s - age %.1f\n",