Server IP : 195.201.23.43 / Your IP : 13.58.214.82 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/fsdump/ |
Upload File : |
#!/usr/bin/perl # index.cgi # Display a list of scheduled dumps require './fsdump-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", "intro", 1, 1); @fslist = &supported_filesystems(); if (!@fslist && !$supports_tar) { print "<p>",&text('index_ecommands', "<tt>dump</tt>"),"<p>\n"; &ui_print_footer("/", $text{'index'}); exit; } print &ui_subheading($text{'index_jobs'}); @alldumps = &list_dumps(); @dumps = grep { &can_edit_dir($_) } @alldumps; &foreign_require("cron", "cron-lib.pl"); if (@dumps) { ($nontar) = grep { $_->{'fs'} ne 'tar' } @dumps; print &ui_form_start("delete_dumps.cgi", "post"); @links = ( &select_all_link("d"), &select_invert_link("d") ); print &ui_links_row(\@links); @tds = ( "width=5" ); print &ui_columns_start([ "", $text{'dump_dir'}, $text{'dump_fs'}, $nontar ? ( $text{'dump_level'} ) : ( ), $text{'dump_dest'}, $text{'dump_sched'}, $text{'dump_when'}, $text{'index_action'} ], 100, 0, \@tds); foreach $d (@dumps) { local @cols; @dirs = &dump_directories($d); $dirs = join("<br>", map { &html_escape($_) } @dirs); if ($access{'edit'}) { push(@cols, &ui_link("edit_dump.cgi?id=".$d->{'id'}, "<tt>$dirs</tt>") ); } else { push(@cols, "<tt>$dirs</tt>"); } push(@cols, uc($d->{'fs'})); push(@cols, &html_escape($d->{'level'})) if ($nontar); push(@cols, "<tt>".&dump_dest($d)."</tt>"); push(@cols, $d->{'enabled'} ? $text{'yes'} : $text{'no'}); $using_strftime++ if ($d->{'file'} =~ /%/ || $d->{'hfile'} =~ /%/); if ($d->{'follow'}) { $f = &get_dump($d->{'follow'}); push(@cols, &text('index_follow', "<tt>$f->{'dir'}</tt>")); } else { push(@cols, &cron::when_text($d, 1)); } push(@cols, &ui_link("backup.cgi?id=".$d->{'id'}, $text{'index_now'}) ); print &ui_checked_columns_row(\@cols, \@tds, "d", $d->{'id'}); } print &ui_columns_end(); print &ui_links_row(\@links); print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } elsif (!@alldumps) { print "<b>$text{'index_none'}</b><p>\n"; } else { print "<b>$text{'index_none2'}</b><p>\n"; } if ($using_strftime && !$config{'date_subs'}) { print &ui_alert_box($text{'index_nostrftime'}, 'warn'); } # Form to add print "<form action=edit_dump.cgi>\n"; print "<input type=submit value='$text{'index_add'}'>\n"; print "<input name=dir size=20> ",&file_chooser_button("dir"),"\n"; if ($supports_tar && !$config{'always_tar'}) { print &ui_checkbox("forcetar", 1, $text{'index_forcetar'}, 0),"\n"; } print "</form>\n"; if ($access{'restore'}) { # Display restore button print &ui_hr(); print &ui_buttons_start(); @fstypes = ( ); push(@fstypes, &supported_filesystems()) if (!$config{'always_tar'}); push(@fstypes, "tar") if ($supports_tar); if (@fstypes > 1) { print &ui_buttons_row("restore_form.cgi", $text{'index_restore'}, $text{'index_restoremsg'}, undef, &ui_select("fs", undef, [ map { [ $_, uc($_) ] } @fstypes ])); } else { print &ui_buttons_row("restore_form.cgi", $text{'index_restore2'}, $text{'index_restoremsg'}, &ui_hidden("fs", $fstypes[0])); } print &ui_buttons_end(); } # Display running backup jobs list, if any &foreign_require("proc", "proc-lib.pl"); @procs = &proc::list_processes(); @running = grep { &can_edit_dir($_) } &running_dumps(\@procs); if (@running) { print &ui_hr(); print &ui_subheading($text{'index_running'}); print &ui_columns_start([ $text{'dump_dir'}, $text{'dump_dest'}, $text{'index_start'}, $text{'index_status'}, $text{'index_action'} ], 100); foreach $d (@running) { @dirs = &dump_directories($d); $dirs = join("<br>", map { &html_escape($_) } @dirs); local @cols; push(@cols, "<tt>$dirs</tt>"); push(@cols, "<tt>".&dump_dest($d)."</tt>"); push(@cols, &make_date($d->{'status'}->{'start'})); push(@cols, $text{'index_status_'.$d->{'status'}->{'status'}}); local $action; if ($d->{'status'}->{'status'} eq 'running' || $d->{'status'}->{'status'} eq 'tape') { $action .= &ui_link("kill.cgi?id=$d->{'id'}&pid=".$d->{'pid'}, $text{'index_kill'}); $action .= "\n"; } if ($d->{'status'}->{'status'} eq 'tape') { $action .= " | \n"; $action .= &ui_link("newtape.cgi?id=".$d->{'id'}."&pid=".$d->{'pid'}, $text{'index_newtape'}); $action .= "\n"; } if ($d->{'status'}->{'status'} eq 'complete' || $d->{'status'}->{'status'} eq 'failed' || $d->{'status'}->{'status'} eq 'verifyfailed') { $action .= $text{'index_noaction'}; } push(@cols, $action); print &ui_columns_row(\@cols); } print &ui_columns_end(); } &ui_print_footer("/", $text{'index'});Private