📄 pl.pm
字号:
#!/bin/perl#my %lang;#use strict;# --------------------------------$Lang{Start_Archive} = "Zacznij Archiwizacj臋";$Lang{Stop_Dequeue_Archive} = "Zatrzymaj/Odkolejkuj Archiwizacj臋";$Lang{Start_Full_Backup} = "Zacznij Pe艂n膮 Kopi臋 Bezpiecze艅stwa";$Lang{Start_Incr_Backup} = "Zacznij Inkrementacyjn膮 Kopi臋 Bezpiecze艅stwa";$Lang{Stop_Dequeue_Backup} = "Zatrzymaj/Odkolejkuj Kopi臋 Bezpiecze艅stwa";$Lang{Restore} = "Przywr贸膰";$Lang{Type_full} = "pe艂ny";$Lang{Type_incr} = "inkrementacyjny";# -----$Lang{Only_privileged_users_can_view_admin_options} = "Tylko uprzywilejowani u偶ytkownicy mog膮 ogl膮da膰 opcje administracyjne";$Lang{H_Admin_Options} = "Serwer BackupPC: Opcje Administracyjne";$Lang{Admin_Options} = "Opcje Administracyjne";$Lang{Admin_Options_Page} = <<EOF;\${h1(qq{$Lang{Admin_Options}})}<br>\${h2("Kontrola Serwera")}<form name="ReloadForm" action="\$MyURL" method="get"><input type="hidden" name="action" value=""><table class="tableStnd"> <tr><td>Wczytaj ponownie konfiguracj臋 serwera:<td><input type="button" value="Reload" onClick="document.ReloadForm.action.value='Reload'; document.ReloadForm.submit();"></table></form><!--\${h2("Konfiguracja Serwera")}<ul> <li><i>Inne opcje mog膮 by膰 tu ... . tzn,</i> <li>Edytuj Konfiguracj臋 Serwera</ul>-->EOF$Lang{Unable_to_connect_to_BackupPC_server} = "Nie mo偶na po艂膮czy膰 si臋 z serwerem BackupPC", "Ten skrypt CGI (\$MyURL) nie mo偶e po艂膮czy膰 si臋 z BackupPC" . " serwer na \$Conf{ServerHost} porcie \$Conf{ServerPort}. B艂膮d" . " to: \$err.", "Mo偶liwe ,偶e serwer BackupPC nie jest uruchomiony albo 偶e wyst臋puje " . " b艂膮d w konfiguracji. Prosz臋 powiadomi膰 o tym swojego Administratora.";$Lang{Admin_Start_Server} = <<EOF;\${h1(qq{$Lang{Unable_to_connect_to_BackupPC_server}})}<form action="\$MyURL" method="get">Serwer BackupPC na <tt>\$Conf{ServerHost}</tt> porcie <tt>\$Conf{ServerPort}</tt>nie dzia艂a (mo偶e tylko go wy艂膮czy艂e艣, albo po prostu nie wlaczy艂e艣).<br>Czy chcesz go w艂膮czy膰?<input type="hidden" name="action" value="startServer"><input type="submit" value="Uruchom Serwer" name="ignore"></form>EOF# -----$Lang{H_BackupPC_Server_Status} = "Status Serwera BackupPC";$Lang{BackupPC_Server_Status_General_Info}= <<EOF;\${h2(\"Informacje Og贸lne Serwera\")}<ul><li> PID serwera to \$Info{pid}, na ho艣cie \$Conf{ServerHost}, wersja \$Info{Version}, w艂膮czony \$serverStartTime.<li> WYgenerowanie statusu : \$now.<li> Ostatnie 艂adowanie konfiguracji : \$configLoadTime.<li> Nast臋pne kolejkowanie : \$nextWakeupTime.<li> Inne Informacje: <ul> <li>\$numBgQueue oczekuj膮cych 偶膮da艅 kopii bezpiecze艅stwa od czasu ostatniego zaplanowanego dzia艂ania, <li>\$numUserQueue oczekujacych 偶膮da艅 kopii bezpiecze艅stwa od uzytkownik贸w, <li>\$numCmdQueue oczekuj膮cych polece艅 do wykonania, \$poolInfo <li>Ostatni obszar systemu plik贸w to \$Info{DUlastValue}% (\$DUlastTime), dzisiejsza maksymalna warto艣膰 to \$Info{DUDailyMax}% (\$DUmaxTime) a wczorajszy by艂 \$Info{DUDailyMaxPrev}%. </ul></ul>EOF$Lang{BackupPC_Server_Status} = <<EOF;\${h1(qq{$Lang{H_BackupPC_Server_Status}})}<p>\$generalInfo\${h2("Aktualnie Dzia艂aj膮ce Prace")}<p><table class="tableStnd" border cellspacing="1" cellpadding="3"><tr class="tableheader"><td> Host </td> <td> Typ </td> <td> U偶ytkownik </td> <td> Pocz膮tek </td> <td> Polecenie </td> <td align="center"> PID </td> <td align="center"> Xfer PID </td> </tr>\$jobStr</table><p>\${h2("B艂臋dy kt贸re wymagaj膮 uwagi")}<p><table class="tableStnd" border cellspacing="1" cellpadding="3"><tr class="tableheader"><td align="center"> Host </td> <td align="center"> Typ </td> <td align="center"> U偶ytkownik </td> <td align="center"> Ostatnia pr贸ba </td> <td align="center"> Detale </td> <td align="center"> Czas </td> <td> Ostatni b艂膮d (inny ni偶 brak po艂膮czenia(pingu)) </td></tr>\$statusStr</table>EOF# --------------------------------$Lang{BackupPC__Server_Summary} = "BackupPC: Wyci膮g Hostow";$Lang{BackupPC__Archive} = "BackupPC: Archiwum";$Lang{BackupPC_Summary} = <<EOF;\${h1(qq{$Lang{BackupPC__Server_Summary}})}<p><ul><li>Ten status zosta艂 wygenerowany o \$now.<li>Ostatni obszar systemu plik贸w to \$Info{DUlastValue}% (\$DUlastTime), dzisiejsza maksymalna warto艣膰 to \$Info{DUDailyMax}% (\$DUmaxTime) a wczorajszy by艂 \$Info{DUDailyMaxPrev}%.</ul></p>\${h2("Hosty z bezb艂臋dnie wykonan膮 kopi膮 bezpiecze艅stwa ")}<p>Jest \$hostCntGood host贸w kt贸re zostaly zabezpieczone, na ca艂kowita liczb臋:<ul><li> \$fullTot pe艂nych kopi bezpiecze艅stwa na pe艂n膮 sum臋 \${fullSizeTot}GB (przed kompresj膮),<li> \$incrTot inkrementalnych kopi bezpiecze艅stwa na pe艂n膮 sume \${incrSizeTot}GB (przed kompresj膮).</ul></p><table class="sortable" id="host_summary_backups" border cellpadding="3" cellspacing="1"><tr class="tableheader"><td> Host </td> <td align="center"> U偶ytwkonik </td> <td align="center"> #Pe艂ny </td> <td align="center"> Pe艂ny Wiek (dni) </td> <td align="center"> Pe艂ny Rozmiar (GB) </td> <td align="center"> Pr臋dko艣膰 (MB/s) </td> <td align="center"> #Inkr </td> <td align="center"> Wiek Inkr (dni) </td> <td align="center"> Ostatnia kopia bezpiecze艅stwa (dni) </td> <td align="center"> Status </td> <td align="center"> Ostatnia pr贸ba </td></tr>\$strGood</table><br><br>\${h2("Hosty bez wykonanej kopii bezpiecze艅stwa")}<p>Jest \$hostCntNone host贸w bez kopii bezpiecze艅stwa.<p><table class="sortable" id="host_summary_nobackups" border cellpadding="3" cellspacing="1"><tr class="tableheader"><td> Host </td> <td align="center"> U偶ytkonik </td> <td align="center"> #Pe艂ny </td> <td align="center"> Pe艂ny Wiek (dni </td> <td align="center"> Pe艂ny Rozmiar (GB) </td> <td align="center"> Pr臋dko艣膰 (MB/s) </td> <td align="center"> #Inkr </td> <td align="center"> Wiek Inkr (dni) </td> <td align="center"> Ostatnia kopia bezpiecze艅stwa (dni) </td> <td align="center"> Status </td> <td align="center"> Ostatnia pr贸ba </td></tr>\$strNone</table>EOF$Lang{BackupPC_Archive} = <<EOF;\${h1(qq{$Lang{BackupPC__Archive}})}<script language="javascript" type="text/javascript"><!-- function checkAll(location) { for (var i=0;i<document.form1.elements.length;i++) { var e = document.form1.elements[i]; if ((e.checked || !e.checked) && e.name != \'all\') { if (eval("document.form1."+location+".checked")) { e.checked = true; } else { e.checked = false; } } } } function toggleThis(checkbox) { var cb = eval("document.form1."+checkbox); cb.checked = !cb.checked; }//--></script>Jest \$hostCntGood host贸w kt贸re maj膮 kopie bezpiecze艅stwa na sum臋 \${fullSizeTot}GB<p><form name="form1" method="post" action="\$MyURL"><input type="hidden" name="fcbMax" value="\$checkBoxCnt"><input type="hidden" name="type" value="1"><input type="hidden" name="host" value="\${EscHTML(\$archHost)}"><input type="hidden" name="action" value="Archive"><table class="tableStnd" border cellpadding="3" cellspacing="1"><tr class="tableheader"><td align=center> Host</td> <td align="center"> Uzytkownik </td> <td align="center"> Rozmiar Kopii Bezpiecze艅stwa </td>\$strGood\$checkAllHosts</table></form><p>EOF$Lang{BackupPC_Archive2} = <<EOF;\${h1(qq{$Lang{BackupPC__Archive}})}Przyst臋puje do archiwizacji nast臋puj膮cych host贸w <ul>\$HostListStr</ul><form action="\$MyURL" method="post">\$hiddenStr<input type="hidden" name="action" value="Archive"><input type="hidden" name="host" value="\${EscHTML(\$archHost)}"><input type="hidden" name="type" value="2"><input type="hidden" value="0" name="archive_type"><table class="tableStnd" border cellspacing="1" cellpadding="3">\$paramStr<tr> <td colspan=2><input type="submit" value="Start the Archive" name="ignore"></td></tr></form></table>EOF$Lang{BackupPC_Archive2_location} = <<EOF;<tr> <td>Lokalizacja Archiwum</td> <td><input type="text" value="\$ArchiveDest" name="archive_device"></td></tr>EOF$Lang{BackupPC_Archive2_compression} = <<EOF;<tr> <td>Kompresja</td> <td> <input type="radio" value="0" name="compression" \$ArchiveCompNone>None<br> <input type="radio" value="1" name="compression" \$ArchiveCompGzip>gzip<br> <input type="radio" value="2" name="compression" \$ArchiveCompBzip2>bzip2 </td></tr>EOF$Lang{BackupPC_Archive2_parity} = <<EOF;<tr> <td>Procent parytetowanych danych (0 = wy艂膮czone, 5 = typowe)</td> <td><input type="numeric" value="\$ArchivePar" name="par"></td></tr>EOF$Lang{BackupPC_Archive2_split} = <<EOF;<tr> <td>Rozdziel wyj艣cie na </td> <td><input type="numeric" value="\$ArchiveSplit" name="splitsize">Megabytes</td></tr>EOF# -----------------------------------$Lang{Pool_Stat} = <<EOF; <li>Pula to \${poolSize}GB zawiera \$info->{"\${name}FileCnt"} plik贸w oraz \$info->{"\${name}DirCnt"} katalog贸w (zaj臋艂o \$poolTime), <li>Hashowanie puli daje \$info->{"\${name}FileCntRep"} powtarzaj膮cych si臋 plik贸w z najd艂u偶szym 艂ancuchem \$info->{"\${name}FileRepMax"}, <li>Nocne czyszczenie usun臋艂o \$info->{"\${name}FileCntRm"} plik贸w o rozmiarze \${poolRmSize}GB (zaj臋艂o \$poolTime),EOF# --------------------------------$Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: Kopia rz膮dana na \$host";# --------------------------------$Lang{REPLY_FROM_SERVER} = <<EOF;\${h1(\$str)}<p>Odpowied藕 serwera to : \$reply<p>Wr贸膰 do <a href="\$MyURL?host=\$host">strony domowej \$host</a>.EOF# --------------------------------$Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Potwierdzony start kopii na \$host";# --------------------------------$Lang{Are_you_sure_start} = <<EOF;\${h1("Are you sure?")}<p>Zamierzasz zacza膰 kopie \$type na \$host.<form name="Confirm" action="\$MyURL" method="get"><input type="hidden" name="host" value="\$host"><input type="hidden" name="hostIP" value="\$ipAddr"><input type="hidden" name="doit" value="1"><input type="hidden" name="action" value="">Czy napewno chcesz tego ?<input type="button" value="\$buttonText" onClick="document.Confirm.action.value='\$In{action}'; document.Confirm.submit();"><input type="submit" value="No" name="ignore"></form>EOF# --------------------------------$Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Zatrzymaj potwierdzon膮 kopie na \$host";# --------------------------------$Lang{Are_you_sure_stop} = <<EOF;\${h1("Czy jeste艣 pewien ?")}<p>Zamierzasz zatrzyma膰 wykonywanie kopii na \$host;<form name="Confirm" action="\$MyURL" method="get"><input type="hidden" name="host" value="\$host"><input type="hidden" name="doit" value="1"><input type="hidden" name="action" value="">Prosze nie zaczynac nowej kopii przez<input type="text" name="backoff" size="10" value="\$backoff"> godzin.<p>Czy naprawd臋 tego chcesz ?<input type="button" value="\$buttonText" onClick="document.Confirm.action.value='\$In{action}'; document.Confirm.submit();"><input type="submit" value="No" name="ignore"></form>EOF# --------------------------------$Lang{Only_privileged_users_can_view_queues_} = "Tylko uprzywilejowani u偶ytwkonicy mog膮 przegl膮da膰 kolejki";# --------------------------------$Lang{Only_privileged_users_can_archive} = "ylko uprzywilejowani u偶ytwkonicy mog膮 archiwizowa膰.";# --------------------------------$Lang{BackupPC__Queue_Summary} = "BackupPC: Podsumowanie kolejki";# --------------------------------$Lang{Backup_Queue_Summary} = <<EOF;\${h1("Podsumowanie kolejki kopii bezpiecze艅stwa")}<br><br>\${h2("Podsumowanie kolejki uzytkownika")}<p>Nast臋puj膮cy u偶ytkonicy s膮 w kolejce:</p><table class="tableStnd" border cellspacing="1" cellpadding="3" width="80%"><tr class="tableheader"><td> Host </td> <td> Czas do </td> <td> U偶ytkownik </td></tr>\$strUser</table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -