%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,mail,shell_exec,system,proc_open,popen,ini_alter,dl,proc_close,curl_exec,curl_multi_exec,readfile,parse_ini_file,escapeshellarg,escapeshellcmd,show_source,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,pcntl_unshare,mail,php_uname,phpinfo MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/postgresql/ |
Upload File : |
#!/usr/bin/perl # restore.cgi # Restore a database from a local file, or from an uploaded file require './postgresql-lib.pl' ; &ReadParseMime(); &error_setup ( $text{'restore_err'} ) ; $access{'restore'} || &error($text{'restore_ecannot'}); &can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'}); # Work out where to restore from if ($in{'src'} == 0) { -r $in{'path'} || &error(&text('restore_pe2', $in{'path'})); $path = $in{'path'}; $need_unlink = 0; } else { $in{'data'} || &error($text{'restore_edata'}); $path = &transname(); &open_tempfile(DATA, ">$path"); &print_tempfile(DATA, $in{'data'}); &close_tempfile(DATA); $need_unlink = 1; } # Validate tables list if ($in{'tables_def'}) { $tables = undef; } else { $in{'tables'} =~ /\S/ || &error($text{'restore_etables'}); $tables = [ split(/\s+/, $in{'tables'}) ]; } # Validate database &indexof($in{'db'}, &list_databases()) >= 0 || &error(&text('restore_edb')); # Un-compress file if needed $cf = &compression_format($path); $cmd = $cf == 1 ? "gunzip -c" : $cf == 2 ? "uncompress -C" : $cf == 3 ? "bunzip2 -c" : undef; if ($cmd) { ($prog, @args) = split(/\s+/, $cmd); &has_command($prog) || &error(&text('exec_ecompress', "<tt>$prog</tt>")); $tempfile = &transname(); $out = &backquote_command( "$cmd <".quotemeta($path)." 2>&1 >".quotemeta($tempfile)); if ($?) { &error(&text('exec_ecompress2', "<pre>$out</pre>")); } unlink($path) if ($need_unlink); $path = $tempfile; $need_unlink = 1; } $err = &restore_database($in{'db'}, $path, $in{'only'}, $in{'clean'}, $tables); unlink($file) if ($need_unlink); if ($err) { &error(&text('restore_failed', "<pre>$err</pre>")); } else { &redirect ("edit_dbase.cgi?db=$in{'db'}") ; }