}
}
+ my $backup_job_uuid;
+
my $interrupt_msg = "interrupted by signal\n";
eval {
$SIG{INT} = $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{PIPE} = sub {
}
}
- my $uuid;
-
eval {
my $params = {
$params->{fingerprint} = $fingerprint if defined($fingerprint);
$params->{'firewall-file'} = $firewall if -e $firewall;
my $res = mon_cmd($vmid, "backup", %$params);
- $uuid = $res->{UUID};
+ $backup_job_uuid = $res->{UUID};
};
my $qmperr = $@;
die $qmperr if $qmperr;
- die "got no uuid for backup task\n" if !$uuid;
+ die "got no uuid for backup task\n" if !defined($backup_job_uuid);
- $self->loginfo("started backup task '$uuid'");
+ $self->loginfo("started backup task '$backup_job_uuid'");
if ($resume_on_backup) {
if (my $stoptime = $task->{vmstoptime}) {
mon_cmd($vmid, 'cont');
}
- $query_backup_status_loop->($self, $vmid, $uuid);
+ $query_backup_status_loop->($self, $vmid, $backup_job_uuid);
};
my $err = $@;
if ($err) {
$self->logerr($err);
- $self->loginfo("aborting backup job");
- eval { mon_cmd($vmid, 'backup-cancel'); };
- if (my $err1 = $@) {
- $self->logerr($err1);
+ if (defined($backup_job_uuid)) {
+ $self->loginfo("aborting backup job");
+ eval { mon_cmd($vmid, 'backup-cancel'); };
+ if (my $err1 = $@) {
+ $self->logerr($err1);
+ }
}
}