X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=contrib%2Fmigrate-3-4.px;h=31abae4b38f52c41c62f918972768a4e30a884c4;hb=7e4b7b46592718cafa5f21ce03bd10dcf919a26d;hp=613561b95fa18a828142374ff7d553a8e9619ff2;hpb=5cfc908c892b9703b3c34db20a861f5c7b64a7d7;p=collectd.git diff --git a/contrib/migrate-3-4.px b/contrib/migrate-3-4.px index 613561b9..31abae4b 100755 --- a/contrib/migrate-3-4.px +++ b/contrib/migrate-3-4.px @@ -125,7 +125,7 @@ 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); @@ -341,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'}); @@ -351,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'; @@ -365,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 <