2 # Execute multiple backup jobs, one for each client
4 require './bacula-backup-lib.pl';
5 &ui_print_unbuffered_header(undef, $text{'gbackup_title'}, "");
8 # Get the backup job def and real jobs
9 $conf = &get_director_config();
10 @jobdefs = &find("JobDefs", $conf);
11 $jobdef = &find_by("Name", "ocjob_".$in{'job'}, \@jobdefs);
12 foreach $job (&get_bacula_jobs()) {
13 ($j, $c) = &is_oc_object($job);
14 if ($j eq $in{'job'} && $c) {
19 print "<b>",&text('gbackup_run', "<tt>$in{'job'}</tt>",
20 scalar(@jobs)),"</b>\n";
24 &console_cmd($h, "messages");
28 foreach $job (@jobs) {
29 ($j, $c) = &is_oc_object($job);
30 print "<dt>",&text('gbackup_on', "<tt>$c</tt>"),"\n";
33 # Select the job to run
34 &sysprint($h->{'infh'}, "run\n");
35 &wait_for($h->{'outfh'}, 'run\\n');
36 $rv = &wait_for($h->{'outfh'}, 'Select Job.*:');
37 print $wait_for_input;
38 if ($rv == 0 && $wait_for_input =~ /(\d+):\s+\Q$job->{'name'}\E/) {
39 &sysprint($h->{'infh'}, "$1\n");
42 &job_error($text{'backup_ejob'});
46 $rv = &wait_for($h->{'outfh'}, 'OK to run.*:');
47 print $wait_for_input;
49 &sysprint($h->{'infh'}, "yes\n");
52 &job_error($text{'backup_eok'});
59 &webmin_log("gbackup", $in{'job'});
61 &ui_print_footer("", $text{'index_return'});
66 print "<b>",@_,"</b><p>\n";
68 &ui_print_footer("backup_form.cgi", $text{'backup_return'});