From 6dcc30d63e431297f4000b266e1e0e8ce6eb2b3e Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Thu, 2 Oct 2014 13:41:03 +0200 Subject: [PATCH] create swap --- vmdk-backup.pl | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/vmdk-backup.pl b/vmdk-backup.pl index 0205997..068325f 100755 --- a/vmdk-backup.pl +++ b/vmdk-backup.pl @@ -116,14 +116,19 @@ mkdir $tmp unless -d $tmp; my @umount; +sub dev_to_backup { + my $dev = shift; + $dev =~ s{/dev/$sda}{/dev/mapper/nbd0p} || + $dev =~ s{/dev/mapper/.+-([^-]+)}{/dev/mapper/$vg_backup-$1} || + die "can't map $dev to new backup device!"; + return $dev; +} + foreach my $mount ( @mounts ) { my ( $dev, $path, $fs ) = @$mount; if ( exists $blks->{$dev} ) { warn "working on $dev $path $fs\n"; - my $dev_backup = $dev; - $dev_backup =~ s{/dev/$sda}{/dev/mapper/nbd0p} || - $dev_backup =~ s{/dev/mapper/.+-([^-]+)}{/dev/mapper/$vg_backup-$1} || - die "can't map $dev to new backup device!"; + my $dev_backup = dev_to_backup($dev); my $label = $blks->{$dev}->{LABEL}; $label = $label ? "-L $label" : ''; sh "mkfs.$fs $label $dev_backup"; @@ -140,7 +145,13 @@ foreach my $mount ( @mounts ) { chdir '/'; -warn "FIXME create swap\n"; +if ( my $swap = (grep { $blks->{$_}->{TYPE} eq 'swap' } keys %$blks)[0] ) { + my $dev = dev_to_backup($swap); + my $label = $blks->{$swap}->{LABEL}; + $label = $label ? "-L $label" : ''; + warn "create swap on $dev\n"; + sh "mkswap $label $dev"; +} warn "cleanup...\n"; -- 2.20.1