X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=contrib%2Fmigrate-3-4.px;h=31abae4b38f52c41c62f918972768a4e30a884c4;hb=756704084860d8ad21db61f2a677cbd80b008be4;hp=24a3c4ed6fc7672d865b23c3c4a6562a1b6ff637;hpb=6ae8373f00977cc658e762df5f1edfd9efb37c06;p=collectd.git diff --git a/contrib/migrate-3-4.px b/contrib/migrate-3-4.px index 24a3c4ed..31abae4b 100755 --- a/contrib/migrate-3-4.px +++ b/contrib/migrate-3-4.px @@ -125,14 +125,9 @@ our %TypeRename = GetOptions ("indir|i=s" => \$InDir, "outdir|o=s" => \$OutDir, - "hostname=s" => \$Hostname) or exit (1); + "hostname=s" => \$Hostname) or exit_usage (); die "No such directory: $InDir" if (!-d $InDir); -if (!-e $OutDir) -{ - mkdir ($OutDir) or die ("mkdir ($OutDir): $!"); -} -die "Not a directory: $OutDir" if (!-d $OutDir); our @Files = (); our %OutDirs = (); @@ -346,6 +341,7 @@ sub special_disk my $orig = shift; my $dest_filename = shift; my $dest = shift; + my $dest_directory; $dest->{'type_instance'} = undef; $dest->{'plugin_instance'} = _special_disk_instance ($orig->{'type_instance'}); @@ -356,6 +352,14 @@ sub special_disk $dest->{'type'} = 'disk_merged'; $dest_filename = get_filename ($dest); + + $dest_directory = dirname ($dest_filename); + if (!exists ($OutDirs{$dest_directory})) + { + print "[ -d '$OutDir/$dest_directory' ] || mkdir -p '$OutDir/$dest_directory'\n"; + $OutDirs{$dest_directory} = 1; + } + print "./extractDS.px -i '$InDir/$orig_filename' -s 'rmerged' -s 'wmerged' -o '$OutDir/$dest_filename' -d 'read' -d 'write'\n"; $dest->{'type'} = 'disk_octets'; @@ -370,3 +374,11 @@ sub special_disk $dest_filename = get_filename ($dest); print "./extractDS.px -i '$InDir/$orig_filename' -s 'rtime' -s 'wtime' -o '$OutDir/$dest_filename' -d 'read' -d 'write'\n"; } + +sub exit_usage +{ + print <