Code

Migration: Ensure destination directories exist when moving RRDs
authorAaron Brady <bradya@gmail.com>
Sun, 15 Jan 2012 13:16:37 +0000 (13:16 +0000)
committerAaron Brady <bradya@gmail.com>
Sun, 15 Jan 2012 13:16:37 +0000 (13:16 +0000)
If you have not run collectd 5 before, then when type instances
are migrated to plugin instances the destination directories
may not already exist. For example:

mv "./test/df/df-mnt-dlna.rrd" "./test/df-mnt-dlna/df.rrd"

This one-liner does a mkdir -p of the destination before
attempting to move the file.

contrib/migrate-4-5.px

index 539eaa332fe217def1bf5a0ce91791509fb9b1e8..d3ff796d3ed7d1139edacfebd638746bb8062c5d 100755 (executable)
@@ -183,6 +183,7 @@ sub handle_file # {{{
     && (!$plugin_inst) && ($type_inst))
   {
     my $dir = join ('/', @path);
+    print "mkdir -p \"$dir/$plugin-$type_inst\"\n";
     print "mv \"$path\" \"$dir/$plugin-$type_inst/$type.rrd\"\n";
   }
 } # }}} sub handle_file