lib/SI/dumper.pm
changeset 28 7d7ca3f05f25
parent 26 39421a9700c5
child 32 8f9e45f83a65
child 37 a61b92c60367
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/SI/dumper.pm	Wed Jan 20 21:52:01 2010 +0100
@@ -0,0 +1,29 @@
+package SI::dumper;
+
+use if $ENV{DEBUG} ~~ /dumper|all/ => "Smart::Comments";
+use strict;
+use warnings;
+use SI::tools;
+use File::Basename;
+
+sub dump($\%) {
+    my ($file, $devs) = @_;
+
+    foreach my $volume (
+        map { { name => $_, %{ $devs->{volume}{$_} } } }
+        keys %{ $devs->{volume} }
+      )
+    {
+        next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
+
+        verbose("dumping volume $volume->{name}");
+        my $dumpdev = $volume->{name};
+        my $of = sprintf $file, basename($volume->{name});
+        run("dump -0 -z -f $of $dumpdev");
+        verbose("\n");
+    }
+}
+
+1;
+
+# vim:sts=4 sw=4 aw ai sm: