7 # --------------------------------
9 $Lang{Start_Full_Backup} = "Start Full Backup";
10 $Lang{Start_Incr_Backup} = "Start Incr Backup";
11 $Lang{Stop_Dequeue_Backup} = "Stop/Dequeue Backup";
12 $Lang{Restore} = "Restore";
16 $Lang{H_BackupPC_Server_Status} = "BackupPC Server Status";
18 $Lang{BackupPC_Server_Status}= <<EOF;
19 \${h1(qq{$Lang{H_BackupPC_Server_Status}})}
22 \${h2(\"General Server Information\")}
25 <li> The servers PID is \$Info{pid}, on host \$Conf{ServerHost},
26 version \$Info{Version}, started at \$serverStartTime.
27 <li> This status was generated at \$now.
28 <li> PCs will be next queued at \$nextWakeupTime.
31 <li>\$numBgQueue pending backup requests from last scheduled wakeup,
32 <li>\$numUserQueue pending user backup requests,
33 <li>\$numCmdQueue pending command requests,
35 <li>Pool file system was recently at \$Info{DUlastValue}%
36 (\$DUlastTime), today\'s max is \$Info{DUDailyMax}% (\$DUmaxTime)
37 and yesterday\'s max was \$Info{DUDailyMaxPrev}%.
41 \${h2("Currently Running Jobs")}
49 <td align="center"> PID </td>
56 \${h2("Failures that need attention")}
59 <tr><td align="center"> Host </td>
60 <td align="center"> Type </td>
61 <td align="center"> User </td>
62 <td align="center"> Last Try </td>
63 <td align="center"> Details </td>
64 <td align="center"> Error Time </td>
65 <td> Last error (other than no ping) </td></tr>
70 # --------------------------------
71 $Lang{BackupPC__Server_Summary} = "BackupPC: Server Summary";
72 $Lang{BackupPC_Summary}=<<EOF;
74 \${h1(qq{$Lang{BackupPC__Server_Summary}})}
76 This status was generated at \$now.
79 \${h2("Hosts with good Backups")}
81 There are \$hostCntGood hosts that have been backed up, for a total of:
83 <li> \$fullTot full backups of total size \${fullSizeTot}GB
84 (prior to pooling and compression),
85 <li> \$incrTot incr backups of total size \${incrSizeTot}GB
86 (prior to pooling and compression).
90 <td align="center"> User </td>
91 <td align="center"> #Full </td>
92 <td align="center"> Full Age/days </td>
93 <td align="center"> Full Size/GB </td>
94 <td align="center"> Speed MB/sec </td>
95 <td align="center"> #Incr </td>
96 <td align="center"> Incr Age/days </td>
97 <td align="center"> State </td>
98 <td align="center"> Last attempt </td></tr>
103 \${h2("Hosts with no Backups")}
105 There are \$hostCntNone hosts with no backups.
109 <td align="center"> User </td>
110 <td align="center"> #Full </td>
111 <td align="center"> Full Age/days </td>
112 <td align="center"> Full Size/GB </td>
113 <td align="center"> Speed MB/sec </td>
114 <td align="center"> #Incr </td>
115 <td align="center"> Incr Age/days </td>
116 <td align="center"> Current State </td>
117 <td align="center"> Last backup attempt </td></tr>
122 # -----------------------------------
123 $Lang{Pool_Stat} = <<EOF;
124 <li>Pool is \${poolSize}GB comprising \$info->{"\${name}FileCnt"} files
125 and \$info->{"\${name}DirCnt"} directories (as of \$poolTime),
126 <li>Pool hashing gives \$info->{"\${name}FileCntRep"} repeated
127 files with longest chain \$info->{"\${name}FileRepMax"},
128 <li>Nightly cleanup removed \$info->{"\${name}FileCntRm"} files of
129 size \${poolRmSize}GB (around \$poolTime),
132 # --------------------------------
133 $Lang{BackupPC__Backup_Requested_on__host} = "BackupPC: Backup Requested on \$host";
134 # --------------------------------
135 $Lang{REPLY_FROM_SERVER} = <<EOF;
138 Reply from server was: \$reply
140 Go back to <a href="\$MyURL?host=\$host">\$host home page</a>.
142 # --------------------------------
143 $Lang{BackupPC__Start_Backup_Confirm_on__host} = "BackupPC: Start Backup Confirm on \$host";
144 # --------------------------------
145 $Lang{Are_you_sure_start} = <<EOF;
146 \${h1("Are you sure?")}
148 You are about to start a \$type backup on \$host.
150 <form action="\$MyURL" method="get">
151 <input type="hidden" name="host" value="\$host">
152 <input type="hidden" name="hostIP" value="\$ipAddr">
153 <input type="hidden" name="doit" value="1">
154 Do you really want to do this?
155 <input type="submit" value="\$In{action}" name="action">
156 <input type="submit" value="No" name="">
159 # --------------------------------
160 $Lang{BackupPC__Stop_Backup_Confirm_on__host} = "BackupPC: Stop Backup Confirm on \$host";
161 # --------------------------------
162 $Lang{Are_you_sure_stop} = <<EOF;
164 \${h1("Are you sure?")}
167 You are about to stop/dequeue backups on \$host;
169 <form action="\$MyURL" method="get">
170 <input type="hidden" name="host" value="\$host">
171 <input type="hidden" name="doit" value="1">
172 Also, please don\'t start another backup for
173 <input type="text" name="backoff" size="10" value="\$backoff"> hours.
175 Do you really want to do this?
176 <input type="submit" value="\$In{action}" name="action">
177 <input type="submit" value="No" name="">
181 # --------------------------------
182 $Lang{Only_privileged_users_can_view_queues_} = "Only privileged users can view queues.";
183 # --------------------------------
184 $Lang{BackupPC__Queue_Summary} = "BackupPC: Queue Summary";
185 # --------------------------------
186 $Lang{Backup_Queue_Summary} = <<EOF;
187 \${h1("Backup Queue Summary")}
189 \${h2("User Queue Summary")}
191 The following user requests are currently queued:
200 \${h2("Background Queue Summary")}
202 The following background requests are currently queued:
211 \${h2("Command Queue Summary")}
213 The following command requests are currently queued:
218 <td> Command </td></tr>
223 # --------------------------------
224 $Lang{Backup_PC__Log_File__file} = "BackupPC: Log File \$file";
225 $Lang{Log_File__file__comment} = <<EOF;
226 "Log File \$file \$comment";
229 # --------------------------------
230 $Lang{Contents_of_log_file} = <<EOF;
231 Contents of log file <tt>\$file</tt>, modified \$mtimeStr \$comment
234 # --------------------------------
235 $Lang{skipped__skipped_lines} = "[ skipped \$skipped lines ]\n";
236 # --------------------------------
237 $Lang{_pre___Can_t_open_log_file__file} = "<pre>\nCan\'t open log file \$file\n";
239 # --------------------------------
240 $Lang{BackupPC__Log_File_History} = "BackupPC: Log File History";
241 $Lang{Log_File_History__hdr} = <<EOF;
242 \${h1("Log File History \$hdr")}
245 <tr><td align="center"> File </td>
246 <td align="center"> Size </td>
247 <td align="center"> Modification time </td></tr>
252 # -------------------------------
253 $Lang{Recent_Email_Summary} = <<EOF;
254 \${h1("Recent Email Summary (Reverse time order)")}
257 <tr><td align="center"> Recipient </td>
258 <td align="center"> Host </td>
259 <td align="center"> Time </td>
260 <td align="center"> Subject </td></tr>
266 # ------------------------------
267 $Lang{Browse_backup__num_for__host} = "BackupPC: Browse backup \$num for \$host";
269 # ------------------------------
270 $Lang{Restore_Options_for__host} = "BackupPC: Restore Options for \$host";
271 $Lang{Restore_Options_for__host2} = <<EOF;
273 You have selected the following files/directories from
274 share \$share, backup number #\$num:
279 You have three choices for restoring these files/directories.
280 Please select one of the following options.
282 \${h2("Option 1: Direct Restore")}
284 You can start a restore that will restore these files directly onto
287 <b>Warning:</b> any existing files that match the ones you have
288 selected will be overwritten!
290 <form action="\$MyURL" method="post">
291 <input type="hidden" name="host" value="\${EscapeHTML(\$host)}">
292 <input type="hidden" name="num" value="\$num">
293 <input type="hidden" name="type" value="3">
295 <input type="hidden" value="\$In{action}" name="action">
298 <td>Restore the files to host</td>
299 <td><input type="text" size="40" value="\${EscapeHTML(\$host)}"
300 name="hostDest"></td>
302 <td>Restore the files to share</td>
303 <td><input type="text" size="40" value="\${EscapeHTML(\$share)}"
304 name="shareDest"></td>
306 <td>Restore the files below dir<br>(relative to share)</td>
307 <td valign="top"><input type="text" size="40" maxlength="256"
308 value="\${EscapeHTML(\$pathHdr)}" name="pathHdr"></td>
310 <td><input type="submit" value="Start Restore" name=""></td>
315 # ------------------------------
316 $Lang{Option_2__Download_Zip_archive} = <<EOF;
318 \${h2("Option 2: Download Zip archive")}
320 You can download a Zip archive containing all the files/directories you have
321 selected. You can then use a local application, such as WinZip,
322 to view or extract any of the files.
324 <b>Warning:</b> depending upon which files/directories you have selected,
325 this archive might be very very large. It might take many minutes to
326 create and transfer the archive, and you will need enough local disk
329 <form action="\$MyURL" method="post">
330 <input type="hidden" name="host" value="\${EscapeHTML(\$host)}">
331 <input type="hidden" name="num" value="\$num">
332 <input type="hidden" name="type" value="2">
334 <input type="hidden" value="\$In{action}" name="action">
335 <input type="checkbox" value="1" name="relative" checked> Make archive relative
336 to \${EscapeHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
337 (otherwise archive will contain full paths).
339 Compression (0=off, 1=fast,...,9=best)
340 <input type="text" size="6" value="5" name="compressLevel">
342 <input type="submit" value="Download Zip File" name="">
346 # ------------------------------
348 $Lang{Option_2__Download_Zip_archive2} = <<EOF;
349 \${h2("Option 2: Download Zip archive")}
351 Archive::Zip is not installed so you will not be able to download a
353 Please ask your system adminstrator to install Archive::Zip from
354 <a href="http://www.cpan.org">www.cpan.org</a>.
359 # ------------------------------
360 $Lang{Option_3__Download_Zip_archive} = <<EOF;
361 \${h2("Option 3: Download Tar archive")}
363 You can download a Tar archive containing all the files/directories you
364 have selected. You can then use a local application, such as tar or
365 WinZip to view or extract any of the files.
367 <b>Warning:</b> depending upon which files/directories you have selected,
368 this archive might be very very large. It might take many minutes to
369 create and transfer the archive, and you will need enough local disk
372 <form action="\$MyURL" method="post">
373 <input type="hidden" name="host" value="\${EscapeHTML(\$host)}">
374 <input type="hidden" name="num" value="\$num">
375 <input type="hidden" name="type" value="1">
377 <input type="hidden" value="\$In{action}" name="action">
378 <input type="checkbox" value="1" name="relative" checked> Make archive relative
379 to \${EscapeHTML(\$pathHdr eq "" ? "/" : \$pathHdr)}
380 (otherwise archive will contain full paths).
382 <input type="submit" value="Download Tar File" name="">
387 # ------------------------------
388 $Lang{Restore_Confirm_on__host} = "BackupPC: Restore Confirm on \$host";
390 $Lang{Are_you_sure} = <<EOF;
391 \${h1("Are you sure?")}
393 You are about to start a restore directly to the machine \$In{hostDest}.
394 The following files will be restored to share \$In{shareDest}, from
398 <tr><td>Original file/dir</td><td>Will be restored to</td></tr>
402 <form action="\$MyURL" method="post">
403 <input type="hidden" name="host" value="\${EscapeHTML(\$host)}">
404 <input type="hidden" name="hostDest" value="\${EscapeHTML(\$In{hostDest})}">
405 <input type="hidden" name="shareDest" value="\${EscapeHTML(\$In{shareDest})}">
406 <input type="hidden" name="pathHdr" value="\${EscapeHTML(\$In{pathHdr})}">
407 <input type="hidden" name="num" value="\$num">
408 <input type="hidden" name="type" value="4">
410 Do you really want to do this?
411 <input type="submit" value="\$In{action}" name="action">
412 <input type="submit" value="No" name="">
417 # --------------------------
418 $Lang{Restore_Requested_on__hostDest} = "BackupPC: Restore Requested on \$hostDest";
419 $Lang{Reply_from_server_was___reply} = <<EOF;
422 Reply from server was: \$reply
424 Go back to <a href="\$MyURL?host=\$hostDest">\$hostDest home page</a>.
427 # -------------------------
428 $Lang{Host__host_Backup_Summary} = "BackupPC: Host \$host Backup Summary";
430 $Lang{Host__host_Backup_Summary2} = <<EOF;
431 \${h1("Host \$host Backup Summary")}
438 \${h2("User Actions")}
440 <form action="\$MyURL" method="get">
441 <input type="hidden" name="host" value="\$host">
443 <input type="submit" value="$Lang{Start_Full_Backup}" name="action" alt="demarage plein">
444 <input type="submit" value="$Lang{Stop_Dequeue_Backup}" name="action">
447 \${h2("Backup Summary")}
449 Click on the backup number to browse and restore backup files.
451 <tr><td align="center"> Backup# </td>
452 <td align="center"> Type </td>
453 <td align="center"> Filled </td>
454 <td align="center"> Start Date </td>
455 <td align="center"> Duration/mins </td>
456 <td align="center"> Age/days </td>
457 <td align="center"> Server Backup Path </td>
465 \${h2("Xfer Error Summary")}
468 <tr><td align="center"> Backup# </td>
469 <td align="center"> Type </td>
470 <td align="center"> View </td>
471 <td align="center"> #Xfer errs </td>
472 <td align="center"> #bad files </td>
473 <td align="center"> #bad share </td>
474 <td align="center"> #tar errs </td>
480 \${h2("File Size/Count Reuse Summary")}
482 Existing files are those already in the pool; new files are those added
484 Empty files and SMB errors aren\'t counted in the reuse and new counts.
486 <tr><td colspan="2"></td>
487 <td align="center" colspan="3"> Totals </td>
488 <td align="center" colspan="2"> Existing Files </td>
489 <td align="center" colspan="2"> New Files </td>
492 <td align="center"> Backup# </td>
493 <td align="center"> Type </td>
494 <td align="center"> #Files </td>
495 <td align="center"> Size/MB </td>
496 <td align="center"> MB/sec </td>
497 <td align="center"> #Files </td>
498 <td align="center"> Size/MB </td>
499 <td align="center"> #Files </td>
500 <td align="center"> Size/MB </td>
506 \${h2("Compression Summary")}
508 Compression performance for files already in the pool and newly
511 <tr><td colspan="3"></td>
512 <td align="center" colspan="3"> Existing Files </td>
513 <td align="center" colspan="3"> New Files </td>
515 <tr><td align="center"> Backup# </td>
516 <td align="center"> Type </td>
517 <td align="center"> Comp Level </td>
518 <td align="center"> Size/MB </td>
519 <td align="center"> Comp/MB </td>
520 <td align="center"> Comp </td>
521 <td align="center"> Size/MB </td>
522 <td align="center"> Comp/MB </td>
523 <td align="center"> Comp </td>
530 # -------------------------
531 $Lang{Error} = "BackupPC: Error";
532 $Lang{Error____head} = <<EOF;
533 \${h1("Error: \$head")}
537 # -------------------------
538 $Lang{NavSectionTitle_} = "Server";
540 # -------------------------
541 $Lang{Backup_browse_for__host} = <<EOF;
542 \${h1("Backup browse for \$host")}
544 <script language="javascript" type="text/javascript">
547 function checkAll(location)
549 for (var i=0;i<document.form1.elements.length;i++)
551 var e = document.form1.elements[i];
552 if ((e.checked || !e.checked) && e.name != \'all\') {
553 if (eval("document.form1."+location+".checked")) {
562 function toggleThis(checkbox)
564 var cb = eval("document.form1."+checkbox);
565 cb.checked = !cb.checked;
572 <li> You are browsing backup #\$num, which started around \$backupTime
573 (\$backupAge days ago),
575 <li> Click on a directory below to navigate into that directory,
576 <li> Click on a file below to restore that file.
579 \${h2("Contents of \${EscapeHTML(\$dirDisplay)}")}
580 <form name="form1" method="post" action="\$MyURL">
581 <input type="hidden" name="num" value="\$num">
582 <input type="hidden" name="host" value="\$host">
583 <input type="hidden" name="fcbMax" value="\$checkBoxCnt">
584 <input type="hidden" name="action" value="$Lang{Restore}">
587 <tr><td valign="top">
588 <!--Navigate here:-->
589 <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
593 </td><td valign="top">
594 <!--Restore files here:-->
596 <table cellpadding="0" cellspacing="0" bgcolor="#333333"><tr><td>
597 <table border="0" width="100%" align="left" cellpadding="2" cellspacing="1">
606 This is now in the checkAll row
607 <input type="submit" name="Submit" value="Restore selected files">
613 # ------------------------------
614 $Lang{Restore___num_details_for__host} = "BackupPC: Restore #\$num details for \$host";
616 $Lang{Restore___num_details_for__host2 } = <<EOF;
617 \${h1("Restore #\$num Details for \$host")}
620 <tr><td> Number </td><td> \$Restores[\$i]{num} </td></tr>
621 <tr><td> Requested by </td><td> \$RestoreReq{user} </td></tr>
622 <tr><td> Request time </td><td> \$reqTime </td></tr>
623 <tr><td> Result </td><td> \$Restores[\$i]{result} </td></tr>
624 <tr><td> Error Message </td><td> \$Restores[\$i]{errorMsg} </td></tr>
625 <tr><td> Source host </td><td> \$RestoreReq{hostSrc} </td></tr>
626 <tr><td> Source backup num </td><td> \$RestoreReq{num} </td></tr>
627 <tr><td> Source share </td><td> \$RestoreReq{shareSrc} </td></tr>
628 <tr><td> Destination host </td><td> \$RestoreReq{hostDest} </td></tr>
629 <tr><td> Destination share </td><td> \$RestoreReq{shareDest} </td></tr>
630 <tr><td> Start time </td><td> \$startTime </td></tr>
631 <tr><td> Duration </td><td> \$duration min </td></tr>
632 <tr><td> Number of files </td><td> \$Restores[\$i]{nFiles} </td></tr>
633 <tr><td> Total size </td><td> \${MB} MB </td></tr>
634 <tr><td> Transfer rate </td><td> \$MBperSec MB/sec </td></tr>
635 <tr><td> TarCreate errors </td><td> \$Restores[\$i]{tarCreateErrs} </td></tr>
636 <tr><td> Xfer errors </td><td> \$Restores[\$i]{xferErrs} </td></tr>
637 <tr><td> Xfer log file </td><td>
638 <a href="\$MyURL?action=view&type=RestoreLOG&num=\$Restores[\$i]{num}&host=\$host">View</a>,
639 <a href="\$MyURL?action=view&type=RestoreErr&num=\$Restores[\$i]{num}&host=\$host">Errors</a>
643 \${h1("File/Directory list")}
646 <tr><td>Original file/dir</td><td>Restored to</td></tr>
651 # -----------------------------------
652 $Lang{Email_Summary} = "BackupPC: Email Summary";
654 # -----------------------------------
655 # !! ERROR messages !!
656 # -----------------------------------
657 $Lang{BackupPC__Lib__new_failed__check_apache_error_log} = "BackupPC::Lib->new failed: check apache error_log\n";
658 $Lang{Wrong_user__my_userid_is___} =
659 "Wrong user: my userid is \$>, instead of \$uid"
660 . "(\$Conf{BackupPCUser})\n";
661 $Lang{Only_privileged_users_can_view_PC_summaries} = "Only privileged users can view PC summaries.";
662 $Lang{Only_privileged_users_can_stop_or_start_backups} =
663 "Only privileged users can stop or start backups on"
664 . " \${EscapeHTML(\$host)}.";
665 $Lang{Invalid_number__num} = "Invalid number \$num";
666 $Lang{Unable_to_open__file__configuration_problem} = "Unable to open \$file: configuration problem?";
667 $Lang{Only_privileged_users_can_view_log_or_config_files} = "Only privileged users can view log or config files.";
668 $Lang{Only_privileged_users_can_view_log_files} = "Only privileged users can view log files.";
669 $Lang{Only_privileged_users_can_view_email_summaries} = "Only privileged users can view email summaries.";
670 $Lang{Only_privileged_users_can_browse_backup_files} = "Only privileged users can browse backup files"
671 . " for host \${EscapeHTML(\$In{host})}.";
672 $Lang{Empty_host_name} = "Empty host name.";
673 $Lang{Can_t_browse_bad_directory_name} = "Can\'t browse bad directory name"
674 . " \${EscapeHTML(\"\$TopDir/pc/\$host/\$num\")}";
675 $Lang{Directory___EscapeHTML} = "Directory \${EscapeHTML(\"\$TopDir/pc/\$host/\$num\")}"
677 $Lang{Can_t_browse_bad_directory_name2} = "Can\'t browse bad directory name"
678 . " \${EscapeHTML(\$fullDir)}";
679 $Lang{Only_privileged_users_can_restore_backup_files} = "Only privileged users can restore backup files"
680 . " for host \${EscapeHTML(\$In{host})}.";
681 $Lang{Bad_host_name} = "Bad host name \${EscapeHTML(\$host)}";
682 $Lang{You_haven_t_selected_any_files__please_go_Back_to} = "You haven\'t selected any files; please go Back to"
683 . " select some files.";
684 $Lang{Nice_try__but_you_can_t_put} = "Nice try, but you can\'t put \'..\' in any of the file names";
685 $Lang{Can_t_fork_for_tar_restore} = "Can\'t fork for tar restore";
686 $Lang{Can_t_fork_for_zip_restore} = "Can\'t fork for zip restore";
687 $Lang{Host__doesn_t_exist} = "Host \${EscapeHTML(\$In{hostDest})} doesn\'t exist";
688 $Lang{You_don_t_have_permission_to_restore_onto_host} = "You don\'t have permission to restore onto host"
689 . " \${EscapeHTML(\$In{hostDest})}";
690 $Lang{Can_t_open_create} = "Can\'t open/create "
691 . "\${EscapeHTML(\"\$TopDir/pc/\$hostDest/\$reqFileName\")}";
692 $Lang{Only_privileged_users_can_restore_backup_files2} = "Only privileged users can restore backup files"
693 . " for host \${EscapeHTML(\$host)}.";
694 $Lang{Empty_host_name} = "Empty host name";
695 $Lang{Can_t_restore_bad_file} = "Can\'t restore bad file \${EscapeHTML(\$fullPath)}";
696 $Lang{Unknown_host_or_user} = "Unknown host or user \${EscapeHTML(\$host)}";
697 $Lang{Only_privileged_users_can_view_information_about} = "Only privileged users can view information about"
698 . " host \${EscapeHTML(\$host)}." ;
699 $Lang{Only_privileged_users_can_view_restore_information} = "Only privileged users can view restore information.";
700 $Lang{Restore_number__num_for_host__does_not_exist} = "Restore number \$num for host \${EscapeHTML(\$host)} does"
703 $Lang{Unable_to_connect_to_BackupPC_server} = "Unable to connect to BackupPC server",
704 "This CGI script (\$MyURL) is unable to connect to the BackupPC"
705 . " server on \$Conf{ServerHost} port \$Conf{ServerPort}. The error"
707 "Perhaps the BackupPC server is not running or there is a "
708 . " configuration error. Please report this to your Sys Admin.";
710 $Lang{Can_t_find_IP_address_for} = "Can\'t find IP address for \${EscapeHTML(\$host)}";
712 $Lang{host_is_a_DHCP_host} = <<EOF;
713 \$host is a DHCP host, and I don\'t know its IP address. I checked the
714 netbios name of \$ENV{REMOTE_ADDR}\$tryIP, and found that that machine
717 Until I see \$host at a particular DHCP address, you can only
718 start this request from the client machine itself.
721 ########################
722 # ok you can do it then
723 ########################
725 $Lang{Backup_requested_on_DHCP__host} = "Backup requested on DHCP \$host (\$In{hostIP}) by"
726 . " \$User from \$ENV{REMOTE_ADDR}";
728 $Lang{Backup_requested_on__host_by__User} = "Backup requested on \$host by \$User";
729 $Lang{Backup_stopped_dequeued_on__host_by__User} = "Backup stopped/dequeued on \$host by \$User";
730 $Lang{log_Can_t_fork_for_tar_restore_request_by__User} = "log Can\'t fork for tar restore request by \$User";
731 $Lang{log_User__User_downloaded_tar_archive_for__host} = "log User \$User downloaded tar archive for \$host,"
732 . " backup \$num; files were: "
733 . " \${join(\", \", \@fileListTrim)}";
735 $Lang{log_Can_t_fork_for_zip_restore_request_by__User} = "log Can\'t fork for zip restore request by \$User";
737 $Lang{log_User__User_downloaded_zip_archive_for__host}= "log User \$User downloaded zip archive for \$host,"
738 . " backup \$num; files were: "
739 . "\${join(\", \", \@fileListTrim)}";
741 $Lang{Restore_requested_to_host__hostDest__backup___num} = "Restore requested to host \$hostDest, backup #\$num,"
742 . " by \$User from \$ENV{REMOTE_ADDR}";
744 # -------------------------------------------------
745 # ------- Stuff that was forgotten ----------------
746 # -------------------------------------------------
748 $Lang{Status} = "Status";
749 $Lang{PC_Summary} = "PC Summary";
750 $Lang{LOG_file} = "LOG file";
751 $Lang{Old_LOGs} = "Old LOGs";
752 $Lang{Email_summary} = "Email summary";
753 $Lang{Config_file} = "Config file";
754 $Lang{Hosts_file} = "Hosts file";
755 $Lang{Current_queues} = "Current queues";
756 $Lang{Documentation} = "Documentation";
758 $Lang{Host_or_User_name} = "<small>Host or User name:</small>";
760 $Lang{Hosts} = "Hosts";
762 $Lang{This_PC_has_never_been_backed_up} = "<h2> This PC has never been backed up!! </h2>\n";
763 $Lang{This_PC_is_used_by} = "<li>This PC is used by \${UserLink(\$user)}";
766 $Lang{Last_email_sent_to__was_at___subject} = <<EOF;
767 <li>Last email sent to \${UserLink(\$user)} was at \$mailTime, subject "\$subj".
770 $Lang{The_command_cmd_is_currently_running_for_started} = <<EOF;
771 <li>The command \$cmd is currently running for \$host, started \$startTime.
775 $Lang{Host_host_is_queued_on_the_background_queue_will_be_backed_up_soon} = <<EOF;
776 <li>Host \$host is queued on the background queue (will be backed up soon).
780 $Lang{Host_host_is_queued_on_the_user_queue__will_be_backed_up_soon} = <<EOF;
781 <li>Host \$host is queued on the user queue (will be backed up soon).
785 $Lang{A_command_for_host_is_on_the_command_queue_will_run_soon} = <<EOF;
786 <li>A command for \$host is on the command queue (will run soon).
790 $Lang{Last_status_is_state_StatusHost_state_reason_as_of_startTime} = <<EOF;
791 <li>Last status is state \"\$StatusHost{state}\"\$reason
796 $Lang{Last_error_is____EscapeHTML_StatusHost_error} = <<EOF;
797 <li>Last error is \"\${EscapeHTML(\$StatusHost{error})}\"
801 $Lang{Pings_to_host_have_failed_StatusHost_deadCnt__consecutive_times} = <<EOF;
802 <li>Pings to \$host have failed \$StatusHost{deadCnt} consecutive times.
806 $Lang{Prior_to_that__pings} = "Prior to that, pings";
809 $Lang{priorStr_to_host_have_succeeded_StatusHostaliveCnt_consecutive_times} = <<EOF;
810 <li>\$priorStr to \$host have succeeded \$StatusHost{aliveCnt}
814 $Lang{Because__host_has_been_on_the_network_at_least__Conf_BlackoutGoodCnt_consecutive_times___} = <<EOF;
815 <li>Because \$host has been on the network at least \$Conf{BlackoutGoodCnt}
816 consecutive times, it will not be backed up from \$t0 to \$t1 on \$days.
819 $Lang{Backups_are_deferred_for_hours_hours_change_this_number} = <<EOF;
820 <li>Backups are deferred for \$hours hours
821 (<a href=\"\$MyURL?action=Stop/Dequeue%20Backup&host=\$host\">change this number</a>).
824 $Lang{tryIP} = " and \$StatusHost{dhcpHostIP}";
826 $Lang{Host_Inhost} = "Host \$In{host}";
828 $Lang{checkAll} = <<EOF;
829 <tr bgcolor="#ffffcc"><td>
830 <input type="checkbox" name="allFiles" onClick="return checkAll('allFiles');"> Select all
831 </td><td colspan="4" align="center">
832 <input type="submit" name="Submit" value="Restore selected files">
836 $Lang{fileHeader} = <<EOF;
837 <tr bgcolor="\$Conf{CgiHeaderBgColor}"><td align=center> Name</td>
838 <td align="center"> Type</td>
839 <td align="center"> Mode</td>
840 <td align="center"> Size</td>
841 <td align="center"> Mod time</td>
845 $Lang{Home} = "Home";
846 $Lang{Last_bad_XferLOG} = "Last bad XferLOG";
847 $Lang{Last_bad_XferLOG_errors_only} = "Last bad XferLOG (errors only)";
849 $Lang{This_display_is_merged_with_backup} = <<EOF;
850 <li> This display is merged with backup #\$numF, the most recent prior
854 $Lang{Restore_Summary} = <<EOF;
855 \${h2("Restore Summary")}
857 Click on the restore number for more details.
859 <tr><td align="center"> Restore# </td>
860 <td align="center"> Result </td>
861 <td align="right"> Start Date</td>
862 <td align="right"> Dur/mins</td>
863 <td align="right"> #files </td>
864 <td align="right"> MB </td>
865 <td align="right"> #tar errs </td>
866 <td align="right"> #xferErrs </td>
873 $Lang{BackupPC__Documentation} = "BackupPC: Documentation";
878 $Lang{The_directory_is_empty} = <<EOF;
879 <tr><td bgcolor="#ffffff">The directory \${EscapeHTML(\$dirDisplay)} is empty
886 $Lang{full} = "full";
887 $Lang{incremental} = "incr";
889 $Lang{failed} = "failed";
890 $Lang{success} = "success";