| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/bacula-backup/ |
Upload File : |
#!/usr/bin/perl
# Execute multiple backup jobs, one for each client
require './bacula-backup-lib.pl';
&ui_print_unbuffered_header(undef, $text{'gbackup_title'}, "");
&ReadParse();
# Get the backup job def and real jobs
$conf = &get_director_config();
@jobdefs = &find("JobDefs", $conf);
$jobdef = &find_by("Name", "ocjob_".$in{'job'}, \@jobdefs);
foreach $job (&get_bacula_jobs()) {
($j, $c) = &is_oc_object($job);
if ($j eq $in{'job'} && $c) {
push(@jobs, $job);
}
}
print "<b>",&text('gbackup_run', "<tt>$in{'job'}</tt>",
scalar(@jobs)),"</b>\n";
# Clear messages
$h = &open_console();
&console_cmd($h, "messages");
# Run the real jobs
print "<dl>\n";
foreach $job (@jobs) {
($j, $c) = &is_oc_object($job);
print "<dt>",&text('gbackup_on', "<tt>$c</tt>"),"\n";
print "<dd><pre>";
# Select the job to run
&sysprint($h->{'infh'}, "run\n");
&wait_for($h->{'outfh'}, 'run\\n');
$rv = &wait_for($h->{'outfh'}, 'Select Job.*:');
print $wait_for_input;
if ($rv == 0 && $wait_for_input =~ /(\d+):\s+\Q$job->{'name'}\E/) {
&sysprint($h->{'infh'}, "$1\n");
}
else {
&job_error($text{'backup_ejob'});
}
# Say that it is OK
$rv = &wait_for($h->{'outfh'}, 'OK to run.*:');
print $wait_for_input;
if ($rv == 0) {
&sysprint($h->{'infh'}, "yes\n");
}
else {
&job_error($text{'backup_eok'});
}
print "</pre>";
}
print "</dl>\n";
&close_console($h);
&webmin_log("gbackup", $in{'job'});
&ui_print_footer("", $text{'index_return'});
sub job_error
{
print "</pre>\n";
print "<b>",@_,"</b><p>\n";
&close_console($h);
&ui_print_footer("backup_form.cgi", $text{'backup_return'});
exit;
}