", &ui_link("@{[&get_webprefix_safe()]}/$module_name/download_backup.cgi?file=". &urlize($temp), &text('backup_downloadfile', $tempfile) . " ($fsizen)" ), "
\n"; &ui_print_footer($in{'return'} || "/$module_name/list_sched.cgi", $text{'sched_return'}); } } else { &ui_print_unbuffered_header(undef, $text{'backup_title'}, "", undef, undef, $in{'return'}); # Run any before command $start_time = time(); if ($in{'oneoff'} && $sched->{'before'}) { &$first_print($text{'backup_brun'}); &set_backup_envs($sched, \@doms); $out .= &backquote_logged( "($sched->{'before'}) 2>&1 ".&html_escape($out).""; if ($?) { &$second_print($text{'backup_brunfailed'}); goto PREFAILED; } else { &$second_print($text{'setup_done'}); } } # Start backup and show progress $nice = join(", ", map { &nice_backup_url($_) } @strfdests); if (@doms) { print &text('backup_doing', scalar(@doms), $nice),"
\n"; } else { print &text('backup_doing2', scalar(@vbs), $nice),"
\n"; } &start_print_capture(); ($ok, $size, $errdoms) = &backup_domains( \@strfdests, \@doms, \@do_features, $in{'fmt'}, $in{'errors'}, \%options, $in{'fmt'} == 2, \@vbs, $in{'mkdir'}, $in{'onebyone'}, $cbmode == 2, undef, $in{'increment'}, undef, $key, 0, $in{'compression'}); $output = &stop_print_capture(); &cleanup_backup_limits(0, 1); foreach $dest (@strfdests) { &write_backup_log(\@doms, $dest, $in{'increment'}, $start_time, $size, $ok, "cgi", $output, $errdoms, undef, $key, $sched ? $sched->{'id'} : undef, $in{'fmt'}, 0, undef, $sched->{'desc'}); } &run_post_actions(); if (!$ok) { print "
",$text{'backup_failed'},"
\n"; } else { print "
",&text('backup_done', &nice_size($size)),"
\n"; } # If purging old backups, do that now if (($ok || $in{'errors'} == 1) && $in{'oneoff'}) { @purges = &get_scheduled_backup_purges($sched); $i = 0; $asd = $cbmode == 2 ? &get_backup_as_domain(\@doms) : undef; foreach $dest (@dests) { if ($purges[$i]) { $current_id = undef; $pok = &purge_domain_backups( $dest, $purges[$i], $start_time, $asd); } $i++; } } # Run any after command if ($in{'oneoff'} && $sched->{'after'}) { &$first_print($text{'backup_arun'}); &set_backup_envs($sched, \@doms, $ok, $errdoms); $out = &backquote_command( "($sched->{'after'}) 2>&1 ".&html_escape($out).""; if ($?) { &$second_print($text{'backup_arunfailed'}); } else { &$second_print($text{'setup_done'}); } } PREFAILED: &webmin_log("backup", $dests[0], undef, { 'doms' => [ map { $_->{'dom'} } @doms ], 'failed' => !$ok, 'sched' => 0, }); &ui_print_footer($in{'return'} || "/$module_name/list_sched.cgi", $text{'sched_return'}); } # Flag backup as done &stop_running_backup($runsched);