package App::Beam::Backup; use strict; use Carp; require App::Beam; our @ISA = qw(App::Beam); use Unix::Sysexits; sub run { my $self = shift; shift; # Skip subcommand name $self->abend(EX_USAGE, "bad number of arguments") if @_; $self->lock(); foreach my $item (split /\s+/, $self->get('core.items')) { my $backend = $self->{backend}{$self->get("item.$item.backend")}; $backend->backup($item); } $self->unlock(); } 1;