diff --git a/PVE/API2/Backup.pm b/PVE/API2/Backup.pm index 9043c71ac..0041d4fb5 100644 --- a/PVE/API2/Backup.pm +++ b/PVE/API2/Backup.pm @@ -454,6 +454,8 @@ __PACKAGE__->register_method({ die "no such vzdump job\n" if !$job || $job->{type} ne 'vzdump'; } + my $old_enabled = $job->{enabled} // 1; + my $deletable = { comment => 1, 'repeat-missed' => 1, @@ -467,15 +469,21 @@ __PACKAGE__->register_method({ delete $job->{$k}; } - my $schedule_updated = 0; + my $need_run_time_update = 0; if (defined($param->{schedule}) && $param->{schedule} ne $job->{schedule}) { - $schedule_updated = 1; + $need_run_time_update = 1; } foreach my $k (keys %$param) { $job->{$k} = $param->{$k}; } + my $new_enabled = $job->{enabled} // 1; + + if ($new_enabled && !$old_enabled) { + $need_run_time_update = 1; + } + $job->{all} = 1 if (defined($job->{exclude}) && !defined($job->{pool})); if (defined($param->{vmid})) { @@ -493,7 +501,7 @@ __PACKAGE__->register_method({ PVE::VZDump::verify_vzdump_parameters($job, 1); - if ($schedule_updated) { + if ($need_run_time_update) { PVE::Jobs::update_last_runtime($id, 'vzdump'); }