* Several fixes to bin/BackupPC_fixupBackupSummary from Stian Jordet.
* Fixed table width in backup browsing to avoid Firefox layout anomoly,
provided by Jono Woodhouse.
* CSS file updates from Jono Woodhouse. Priod (v2) version is included
as BackupPC_stnd_orig.css in case people prefer the old skin.
* More compact host summary, including disabled host indication,
from Jono Woodhouse.
* BackupPC.pid is now world readable, suggested by Casper Thomsen.
# Version __VERSION__, __RELEASEDATE__
#------------------------------------------------------------------------
+* configure.pl checks version of Encode.pm. Reported by Chris Stone.
+
+* Several fixes to bin/BackupPC_fixupBackupSummary from Stian Jordet.
+
+* Fixed table width in backup browsing to avoid Firefox layout anomoly,
+ provided by Jono Woodhouse.
+
+* CSS file updates from Jono Woodhouse. Priod (v2) version is included
+ as BackupPC_stnd_orig.css in case people prefer the old skin.
+
+* More compact host summary, including disabled host indication,
+ from Jono Woodhouse.
+
+* BackupPC.pid is now world readable, suggested by Casper Thomsen.
+
+#------------------------------------------------------------------------
+# Version 3.0.0beta1, 30 Jul 2006
+#------------------------------------------------------------------------
+
* Fixed several Xfer charset conversions.
* Added some CGI utf8 conversions from Rodrigo Real and Vincent
# Write out our initial status and save our PID
#
StatusWrite();
+ unlink("$LogDir/BackupPC.pid");
if ( open(PID, ">", "$LogDir/BackupPC.pid") ) {
print(PID $$);
close(PID);
+ chmod(0444, "$LogDir/BackupPC.pid");
}
#
#
#========================================================================
#
-# Version 3.0.0beta1, released 30 Jul 2006.
+# Version 3.0.0beta0, released 11 Jul 2006.
#
# See http://backuppc.sourceforge.net.
#
}
print(" Reading $file\n");
while ( (my $str = $f->readLine()) ne "" ) {
- if ( $str =~ /^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (full|incr|partial) backup started for directory / ) {
- $startTime = $str;
+ if ( $str =~ /^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (full|incr|partial) backup started / ) {
+ $startTime = parsedate($1);
next;
}
next if ( $str !~ /^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (full|incr|partial) backup (\d+) complete, (\d+) files, (\d+) bytes, (\d+) xferErrs \((\d+) bad files, (\d+) bad shares, (\d+) other\)/ );
- my $endTime = $1;
my $type = $2;
my $bkupNum = $3;
my $nFilesTotal = $4;
my $xferErrs = $6;
my $badFiles = $7;
my $badShare = $8;
+ my $endTime = parsedate($1);
print(" Got $type backup $bkupNum at $endTime\n");
- next if ( !-d "$dir/$2" );
+ next if ( !-d "$dir/$bkupNum" );
$BkupFromLOG->{$bkupNum} = {
num => $bkupNum,
type => $type,
- startTime => parsedate($startTime),
- endTime => parsedate($endTime),
+ startTime => $startTime,
+ endTime => $endTime,
size => $sizeTotal,
nFiles => $nFilesTotal,
xferErrs => $xferErrs,
if ( $changes ) {
@Backups = sort({$a->{num} <=> $b->{num}} @Backups);
- print Dumper \@Backups;
+ # print Dumper \@Backups;
+ $bpc->BackupInfoWrite($host, @Backups);
} else {
print(" No changes for host $host\n");
}
/*
* BackupPC standard CSS definitions
*
- * Version 3.0.0beta0, released 11 Jul 2006.
+ * Version 3.0.0beta1, released 30 Jul 2006.
*
* See http://backuppc.sourceforge.net.
*
*/
body {
- font-family:arial,sans-serif;
- font-size:11pt;
+ font-family:tahoma,arial,sans-serif,helvetica;
+ font-size:10pt;
background-color:#ffffff;
margin:2px 5px 0px 2px;
height:100%
}
+
+table {
+ border-collapse: collapse;
+ color: #000000;
+ padding:0px;
+}
+
h1 {
- font-family:arial,sans-serif;
+ font-family:Trebuchet MS,Trebuchet,tahoma,arial,sans-serif,helvetica;
font-size:16pt;
color:#000000
}
h2 {
- font-family:arial,sans-serif;
+ font-family:Trebuchet MS,Trebuchet,tahoma,arial,sans-serif,helvetica;
font-size:12pt;
color:#000000
}
a {
- font-family:arial,sans-serif;
+ font-family:tahoma,arial,sans-serif,helvetica;
color:#3333ff
}
}
.h1 {
- font-family:arial,sans-serif;
+ font-family:Trebuchet MS,Trebuchet,tahoma,arial,sans-serif,helvetica;
font-size:16pt;
color:#000000;
font-weight:bold;
- background-color:#99cc33;
+ background-color:#95B8DB;
padding:3px;
padding-left:6px;
margin-bottom:5px;
}
.h2 {
- font-family:arial,sans-serif;
+ font-family:Trebuchet MS,Trebuchet,tahoma,arial,sans-serif,helvetica;
font-size:12pt;
color:#000000;
font-weight:bold;
- background-color:#ddeeee;
+ background-color:#eeeeee;
padding:3px;
padding-left:6px;
margin-top:3px;
}
.tableStnd {
- font-size:11pt;
+ font-size:10pt;
}
.tableheader {
- font-size:9pt;
+ font-size:10pt;
font-weight:bold;
- background-color:#cccccc;
+ background-color:#eeeeee;
}
.border {
font-size:12pt;
color:#000000;
font-weight:bold;
- background-color:#99cc33;
+ background-color:#95B8DB;
}
.editTabSel {
font-size:14pt;
color:#000000;
font-weight:bold;
- background-color:#99cc33;
+ background-color:#95B8DB;
padding:3px;
padding-left:6px;
margin-bottom:5px;
.editTextInput {
font-family:courier;
+ font-size:10pt;
}
.fviewheader {
font-weight:bold;
- font-size:10pt;
+ font-size:9pt;
color:#ffffff;
background-color:#999999;
}
.fviewborder {
border-bottom:1px solid #000000;
border-left:1px dotted #666666;
- background-color:#dddddd;
- font-size:11pt;
+ background-color:#eeeeee;
+ font-size:9pt;
}
.fviewon {
.fview {
font-size:9pt;
- font-family:arial,sans-serif;
+ font-family:tahoma,arial,sans-serif,helvetica;
text-decoration:none;
line-height:15px;
}
.fviewbold {
- font-size:10pt;
- font-family:arial,sans-serif;
+ font-size:9pt;
+ font-family:tahoma,arial,sans-serif,helvetica;
text-decoration:none;
line-height:15px;
font-weight:bold;
.histView {
border-bottom:1px solid #000000;
border-left:2px solid #ffffff;
- background-color:#dddddd;
+ background-color:#eeeeee;
font-size:10pt;
}
div.NavMenu {
width:18%;
margin:0px;
- background-color:#ddeeee;
+ font-size:9pt;
+ background-color:#eeeeee;
}
div.NavMenu a {
- font-size:10pt;
+ font-size:9pt;
+ font-family:arial,sans-serif;
display:block;
margin-left:8px;
padding:2px;
}
div.NavTitle {
+ font-size:12pt;
padding-left:10px;
- background-color:#99cc33;
- font-family:arial,sans-serif;
+ background-color:#95B8DB;
+ font-family:Trebuchet MS,Trebuchet,tahoma,arial,sans-serif,helvetica;
color:#000000;
font-weight:bold;
margin-bottom:2px;
--- /dev/null
+/*
+ * BackupPC standard CSS definitions
+ *
+ * Version 3.0.0beta1, released 30 Jul 2006.
+ *
+ * See http://backuppc.sourceforge.net.
+ *
+ * AUTHOR
+ * Craig Barratt <cbarratt@users.sourceforge.net>
+ *
+ * COPYRIGHT
+ * Copyright (C) 2004 Craig Barratt
+ */
+
+body {
+ font-family:arial,sans-serif;
+ font-size:11pt;
+ background-color:#ffffff;
+ margin:2px 5px 0px 2px;
+ height:100%
+}
+
+h1 {
+ font-family:arial,sans-serif;
+ font-size:16pt;
+ color:#000000
+}
+
+h2 {
+ font-family:arial,sans-serif;
+ font-size:12pt;
+ color:#000000
+}
+
+a {
+ font-family:arial,sans-serif;
+ color:#3333ff
+}
+
+dt {
+ color:#3333ff
+}
+
+a:hover {
+ color:#cc0000;
+ text-decoration:none
+}
+
+a.NavCurrent {
+ font-weight:bold;
+}
+
+a.navbar {
+ padding-left:5px;
+ padding-right:5px;
+}
+
+.h1 {
+ font-family:arial,sans-serif;
+ font-size:16pt;
+ color:#000000;
+ font-weight:bold;
+ background-color:#99cc33;
+ padding:3px;
+ padding-left:6px;
+ margin-bottom:5px;
+}
+
+.h2 {
+ font-family:arial,sans-serif;
+ font-size:12pt;
+ color:#000000;
+ font-weight:bold;
+ background-color:#ddeeee;
+ padding:3px;
+ padding-left:6px;
+ margin-top:3px;
+ margin-bottom:1px;
+}
+
+.tableStnd {
+ font-size:11pt;
+}
+
+.tableheader {
+ font-size:9pt;
+ font-weight:bold;
+ background-color:#cccccc;
+}
+
+.border {
+ font-size:10pt;
+}
+
+.editHeader {
+ font-family:arial,sans-serif;
+ font-size:12pt;
+ color:#000000;
+ font-weight:bold;
+ background-color:#99cc33;
+}
+
+.editTabSel {
+ font-family:arial,sans-serif;
+ font-size:14pt;
+ color:#000000;
+ font-weight:bold;
+ background-color:#99cc33;
+ padding:3px;
+ padding-left:6px;
+ margin-bottom:5px;
+}
+
+.editTabNoSel {
+ font-family:arial,sans-serif;
+ font-size:14pt;
+ color:#000000;
+ font-weight:bold;
+ padding:3px;
+ padding-left:6px;
+ margin-bottom:5px;
+}
+
+.editSaveButton {
+ color:#ff0000;
+ font-size:14pt;
+ font-weight:bold;
+}
+
+.editError {
+ color:#ff0000;
+ font-weight:bold;
+}
+
+.editComment {
+ font-size:10pt;
+}
+
+.editTextInput {
+ font-family:courier;
+}
+
+.fviewheader {
+ font-weight:bold;
+ font-size:10pt;
+ color:#ffffff;
+ background-color:#999999;
+}
+
+.fviewborder {
+ border-bottom:1px solid #000000;
+ border-left:1px dotted #666666;
+ background-color:#dddddd;
+ font-size:11pt;
+}
+
+.fviewon {
+ background-color:#cccccc;
+}
+
+.fviewoff {
+ background-color:#ffffff;
+}
+
+.fview {
+ font-size:9pt;
+ font-family:arial,sans-serif;
+ text-decoration:none;
+ line-height:15px;
+}
+
+.fviewbold {
+ font-size:10pt;
+ font-family:arial,sans-serif;
+ text-decoration:none;
+ line-height:15px;
+ font-weight:bold;
+}
+
+.histView {
+ border-bottom:1px solid #000000;
+ border-left:2px solid #ffffff;
+ background-color:#dddddd;
+ font-size:10pt;
+}
+
+.histViewMis {
+ border-bottom:1px solid #000000;
+ background-color:#ffdddd;
+}
+
+div.NavMenu {
+ width:18%;
+ margin:0px;
+ background-color:#ddeeee;
+}
+
+div.NavMenu a {
+ font-size:10pt;
+ display:block;
+ margin-left:8px;
+ padding:2px;
+}
+
+div.NavTitle {
+ padding-left:10px;
+ background-color:#99cc33;
+ font-family:arial,sans-serif;
+ color:#000000;
+ font-weight:bold;
+ margin-bottom:2px;
+}
+
+#Content {
+ float:right;
+ width:80%;
+ left:20%;
+ top:10px;
+ position:absolute;
+}
Reason_no_ping => '#ffff99',
Reason_backup_canceled_by_user => '#ff9900',
Status_backup_in_progress => '#66cc99',
+ Disabled_OnlyManualBackups => '#d1d1d1',
+ Disabled_AllBackupsDisabled => '#d1d1d1',
};
#
$Conf{CgiImageDirURL} = '';
#
-# CSS stylesheet for the CGI interface. It is stored in the
-# $Conf{CgiImageDir} directory and accessed via the
+# CSS stylesheet "skin" for the CGI interface. It is stored
+# in the $Conf{CgiImageDir} directory and accessed via the
# $Conf{CgiImageDirURL} URL.
#
+# For BackupPC v3.x several color, layout and font changes were made.
+# The previous v2.x version is available as BackupPC_stnd_orig.css, so
+# if you prefer the old skin, change this to BackupPC_stnd_orig.css.
+#
$Conf{CgiCSSFile} = 'BackupPC_stnd.css';
#
ArchiveInfoKeepCnt => 1,
BackupFilesOnly => 1,
BackupFilesExclude => 1,
+ BackupsDisable => 1,
BlackoutBadPingLimit => 1,
BlackoutGoodCnt => 1,
BlackoutPeriods => 1,
use lib "./lib";
my @Packages = qw(File::Path File::Spec File::Copy DirHandle Digest::MD5
- Data::Dumper Getopt::Std Getopt::Long Pod::Usage
+ Data::Dumper Getopt::Std Getopt::Long Encode Pod::Usage
BackupPC::Lib BackupPC::FileZIO);
foreach my $pkg ( @Packages ) {
if ( $pkg =~ /BackupPC/ ) {
die <<EOF;
-BackupPC cannot find the package $pkg, which is included in the
+Error loading $pkg: $@
+BackupPC cannot load the package $pkg, which is included in the
BackupPC distribution. This probably means you did not cd to the
unpacked BackupPC distribution before running configure.pl, eg:
EOF
}
+my $EncodeVersion = eval($Encode::VERSION);
+if ( $EncodeVersion < 1.99 ) {
+ print("\nError: you need to upgrade the Encode package;"
+ . " I found $EncodeVersion and BackupPC needs >= 1.99\n\n");
+ exit(1);
+}
+
my %opts;
$opts{"set-perms"} = 1;
if ( !GetOptions(
}
}
-my $Perl56 = system($Conf{PerlPath}
- . q{ -e 'exit($^V && $^V ge v5.6.0 ? 1 : 0);'});
+my $Perl58 = system($Conf{PerlPath}
+ . q{ -e 'exit($^V && $^V ge v5.8.0 ? 1 : 0);'});
-if ( !$Perl56 ) {
+if ( !$Perl58 ) {
print <<EOF;
-BackupPC needs perl version 5.6.0 or later. $Conf{PerlPath} appears
+BackupPC needs perl version 5.8.0 or later. $Conf{PerlPath} appears
to be an older version. Please upgrade to a newer version of perl
and re-run this configure script.
}
InstallFile("conf/BackupPC_stnd.css",
"$DestDir$Conf{CgiImageDir}/BackupPC_stnd.css", 0444, 0);
+ InstallFile("conf/BackupPC_stnd_orig.css",
+ "$DestDir$Conf{CgiImageDir}/BackupPC_stnd_orig.css", 0444, 0);
}
printf("Making init.d scripts\n");
}
$content .= "<tr><td class=\"border\"></td>\n";
for ( my $i = 0 ; $i < @order ; $i++ ) {
- $content .= "<td>$order[$i]</td>\n";
+ $content .= "<td class=\"border\">$order[$i]</td>\n";
}
$content .= "</tr>\n";
for ( my $i = 0 ; $i < @$varValue ; $i++ ) {
my $Privileged = CheckPermission();
foreach my $host ( GetUserHosts(1) ) {
- my($fullDur, $incrCnt, $incrAge, $fullSize, $fullRate, $reasonHilite);
+ my($fullDur, $incrCnt, $incrAge, $fullSize, $fullRate, $reasonHilite,
+ $lastAge, $tempState, $tempReason);
my($shortErr);
my @Backups = $bpc->BackupInfoRead($host);
my $fullCnt = $incrCnt = 0;
- my $fullAge = $incrAge = -1;
+ my $fullAge = $incrAge = $lastAge = -1;
$bpc->ConfigRead($host);
%Conf = $bpc->Conf();
$incrSizeTot += $Backups[$i]{size} / (1024 * 1024);
}
}
+ if ( $fullAge > $incrAge && $fullAge >= 0 ) {
+ $lastAge = $fullAge;
+ } else {
+ $lastAge = $incrAge;
+ }
+ if ( $lastAge < 0 ) {
+ $lastAge = "";
+ } else {
+ $lastAge = sprintf("%.1f", (time - $lastAge) / (24 * 3600));
+ }
if ( $fullAge < 0 ) {
$fullAge = "";
$fullRate = "";
$incrAge = " " if ( $incrAge eq "" );
$reasonHilite = $Conf{CgiStatusHilightColor}{$Status{$host}{reason}}
|| $Conf{CgiStatusHilightColor}{$Status{$host}{state}};
+ if ( $Conf{BackupsDisable} == 1 ) {
+ $reasonHilite = $Conf{CgiStatusHilightColor}{Disabled_OnlyManualBackups};
+ $tempState = "Disabled_OnlyManualBackups";
+ $tempReason = "";
+ } elsif ($Conf{BackupsDisable} == 2 ) {
+ $reasonHilite = $Conf{CgiStatusHilightColor}{Disabled_AllBackupsDisabled};
+ $tempState = "Disabled_AllBackupsDisabled";
+ $tempReason = "";
+ } else {
+ $tempState = $Status{$host}{state};
+ $tempReason = $Status{$host}{reason};
+ }
$reasonHilite = " bgcolor=\"$reasonHilite\"" if ( $reasonHilite ne "" );
- if ( $Status{$host}{state} ne "Status_backup_in_progress"
- && $Status{$host}{state} ne "Status_restore_in_progress"
+ if ( $tempState ne "Status_backup_in_progress"
+ && $tempState ne "Status_restore_in_progress"
+ && $Conf{BackupsDisable} == 0
&& $Status{$host}{error} ne "" ) {
($shortErr = $Status{$host}{error}) =~ s/(.{48}).*/$1.../;
$shortErr = " ($shortErr)";
<td align="center" class="border"> $fullRate </td>
<td align="center" class="border"> $incrCnt </td>
<td align="center" class="border"> $incrAge </td>
- <td align="center" class="border"> $Lang->{$Status{$host}{state}} </td>
- <td class="border"> $Lang->{$Status{$host}{reason}}$shortErr </td></tr>
+ <td align="center" class="border"> $lastAge </td>
+ <td align="center" class="border"> $Lang->{$tempState} </td>
+ <td class="border"> $Lang->{$tempReason}$shortErr </td></tr>
EOF
if ( @Backups == 0 ) {
$hostCntNone++;
Reason_no_ping => "string",
Reason_backup_canceled_by_user => "string",
Status_backup_in_progress => "string",
+ Disabled_OnlyManualBackups => "string",
+ Disabled_AllBackupsDisabled => "string",
},
},
CgiHeaders => "bigstring",
ArchiveInfoKeepCnt => "boolean",
BackupFilesOnly => "boolean",
BackupFilesExclude => "boolean",
+ BackupsDisable => "boolean",
BlackoutBadPingLimit => "boolean",
BlackoutGoodCnt => "boolean",
BlackoutPeriods => "boolean",
<tr class="tableheader"><td> Computer </td>
<td align="center"> Benutzer </td>
<td align="center"> #Voll </td>
- <td align="center"> Alter/Tagen </td>
- <td align="center"> Größe/GB </td>
+ <td align="center"> Alter (Tagen) </td>
+ <td align="center"> Größe (GB) </td>
<td align="center"> MB/sek </td>
<td align="center"> #Inkr </td>
- <td align="center"> Alter/Tage </td>
+ <td align="center"> Alter (Tage) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Status </td>
<td align="center"> Letzte Aktion </td></tr>
\$strGood
<tr class="tableheader"><td> Computer </td>
<td align="center"> Benutzer </td>
<td align="center"> #Voll </td>
- <td align="center"> Alter/Tage </td>
- <td align="center"> Größe/GB </td>
- <td align="center"> MB/sec </td>
+ <td align="center"> Alter (Tage) </td>
+ <td align="center"> Größe (GB) </td>
+ <td align="center"> MB/sek </td>
<td align="center"> #Inkr </td>
- <td align="center"> Alter/Tage </td>
+ <td align="center"> Alter (Tage) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Status </td>
<td align="center"> Letzter Versuch </td></tr>
\$strNone
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Reason_backup_canceled_by_user} = "Abbruch durch Benutzer";
$Lang{Reason_restore_canceled_by_user} = "Abbruch durch Benutzer";
$Lang{Reason_archive_canceled_by_user} = "Archivierung abgebrochen durch Benutzer";
+$Lang{Disabled_OnlyManualBackups} = "ENG auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "ENG disabled";
# ---------
# Email messages
<tr class="tableheader"><td> Host </td>
<td align="center"> User </td>
<td align="center"> #Full </td>
- <td align="center"> Full Age/days </td>
- <td align="center"> Full Size/GB </td>
- <td align="center"> Speed MB/sec </td>
+ <td align="center"> Full Age (days) </td>
+ <td align="center"> Full Size (GB) </td>
+ <td align="center"> Speed (MB/s) </td>
<td align="center"> #Incr </td>
- <td align="center"> Incr Age/days </td>
+ <td align="center"> Incr Age (days) </td>
+ <td align="center"> Last Backup (days) </td>
<td align="center"> State </td>
<td align="center"> Last attempt </td></tr>
\$strGood
<tr class="tableheader"><td> Host </td>
<td align="center"> User </td>
<td align="center"> #Full </td>
- <td align="center"> Full Age/days </td>
- <td align="center"> Full Size/GB </td>
- <td align="center"> Speed MB/sec </td>
+ <td align="center"> Full Age (days) </td>
+ <td align="center"> Full Size (GB) </td>
+ <td align="center"> Speed (MB/s) </td>
<td align="center"> #Incr </td>
<td align="center"> Incr Age/days </td>
- <td align="center"> Current State </td>
- <td align="center"> Last backup attempt </td></tr>
+ <td align="center"> Last Backup (days) </td>
+ <td align="center"> State </td>
+ <td align="center"> Last attempt </td></tr>
\$strNone
</table>
EOF
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Status_link_pending} = "link pending";
$Lang{Status_link_running} = "link running";
-$Lang{Reason_backup_done} = "backup done";
+$Lang{Reason_backup_done} = "done";
$Lang{Reason_restore_done} = "restore done";
$Lang{Reason_archive_done} = "archive done";
-$Lang{Reason_nothing_to_do} = "nothing to do";
+$Lang{Reason_nothing_to_do} = "idle";
$Lang{Reason_backup_failed} = "backup failed";
$Lang{Reason_restore_failed} = "restore failed";
$Lang{Reason_archive_failed} = "archive failed";
$Lang{Reason_backup_canceled_by_user} = "backup canceled by user";
$Lang{Reason_restore_canceled_by_user} = "restore canceled by user";
$Lang{Reason_archive_canceled_by_user} = "archive canceled by user";
+$Lang{Disabled_OnlyManualBackups} = "auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "disabled";
+
# ---------
# Email messages
<tr class="tableheader"><td> Host </td>
<td align="center"> Usuario </td>
<td align="center"> #Completo </td>
- <td align="center"> Completo Antig./Días </td>
- <td align="center"> Completo Tamaño/GB </td>
+ <td align="center"> Completo Antig. (Días) </td>
+ <td align="center"> Completo Tamaño (GB) </td>
<td align="center"> Velocidad MB/sec </td>
<td align="center"> #Incrementales </td>
- <td align="center"> Incrementales Antig/Días </td>
+ <td align="center"> Incrementales Antig (Días) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Estado </td>
<td align="center"> Ultimo Intento </td></tr>
\$strGood
<tr class="tableheader"><td> Host </td>
<td align="center"> Usuario </td>
<td align="center"> #Completo </td>
- <td align="center"> Completo Antig./Días </td>
- <td align="center"> Completo Tamaño/GB </td>
+ <td align="center"> Completo Antig. (Días) </td>
+ <td align="center"> Completo Tamaño (GB) </td>
<td align="center"> Velocidad MB/sec </td>
<td align="center"> #Incrementales </td>
- <td align="center"> Incrementales Antig/Días </td>
+ <td align="center"> Incrementales Antig (Días) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Estado </td>
<td align="center"> Ultimo Intento </td></tr>
\$strNone
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Reason_backup_canceled_by_user} = "copia cancelada por el usuario";
$Lang{Reason_restore_canceled_by_user} = "restauración cancelada por el usuario";
$Lang{Reason_archive_canceled_by_user} = "archivado cancelado por el usuario";
+$Lang{Disabled_OnlyManualBackups} = "ENG auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "ENG disabled";
# ---------
# Email messages
<td align="center"> Vitesse (Mo/s) </td>
<td align="center"> Nb incrémentielles </td>
<td align="center"> Incrémentielles Âge (jours) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> État actuel </td>
<td align="center"> Dernière tentative </td></tr>
\$strGood
<td align="center"> Vitesse (Mo/s) </td>
<td align="center"> Nb incrémentielles </td>
<td align="center"> Incrémentielles Âge (jours) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> État actuel </td>
<td align="center"> Dernière tentative </td></tr>
\$strNone
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Reason_backup_canceled_by_user} = "sauvegarde annulée par l'utilisateur";
$Lang{Reason_restore_canceled_by_user} = "restauration annulée par l'utilisateur";
$Lang{Reason_archive_canceled_by_user} = "archivage annulé par l'utilisateur";
+$Lang{Disabled_OnlyManualBackups} = "ENG auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "ENG disabled";
# ---------
# Email messages
<td align="center"> Velocità (MB/s) </td>
<td align="center"> Incrementali </td>
<td align="center"> Età incrementali (giorni) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Stato </td>
<td align="center"> Ultimo tentativo </td></tr>
\$strGood
<td align="center"> Velocità (MB/s) </td>
<td align="center"> Incrementali </td>
<td align="center"> Età incrementali (giorni) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Stato </td>
<td align="center"> Ultimo tentativo </td></tr>
\$strNone
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Reason_backup_canceled_by_user} = "backup annullato dall\'utente";
$Lang{Reason_restore_canceled_by_user} = "ripristino annullato dall\'utente";
$Lang{Reason_archive_canceled_by_user} = "archivio annullato dall\'utente";
+$Lang{Disabled_OnlyManualBackups} = "ENG auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "ENG disabled";
# ---------
# Email messages
<tr class="tableheader"><td> Machine </td>
<td align="center"> Gebruiker </td>
<td align="center"> Aantal Voll. </td>
- <td align="center"> Voll.Lftd/dagen </td>
- <td align="center"> Voll.Grootte/GB </td>
- <td align="center"> Snelheid MB/sec </td>
+ <td align="center"> Voll.Lftd (dagen) </td>
+ <td align="center"> Voll.Grootte (GB) </td>
+ <td align="center"> Snelheid (MB/sec) </td>
<td align="center"> Aantal Incr. </td>
- <td align="center"> Incr.Lftd/dagen </td>
+ <td align="center"> Incr.Lftd (dagen) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Status </td>
<td align="center"> Laatste poging</td></tr>
\$strGood
<tr class="tableheader"><td> Machine </td>
<td align="center"> Gebruiker </td>
<td align="center"> Aantal Voll. </td>
- <td align="center"> Voll.Lftd/dagen </td>
- <td align="center"> Voll.Grootte/GB </td>
- <td align="center"> Snelheid MB/sec </td>
+ <td align="center"> Voll.Lftd (dagen) </td>
+ <td align="center"> Voll.Grootte (GB) </td>
+ <td align="center"> Snelheid (MB/sec) </td>
<td align="center"> Aantal Incr. </td>
- <td align="center"> Incr.Lftd/dagen </td>
+ <td align="center"> Incr.Lftd (dagen) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Status </td>
<td align="center"> Laatste poging </td></tr>
\$strNone
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Reason_backup_canceled_by_user} = "backup geannuleerd door gebruiker";
$Lang{Reason_restore_canceled_by_user} = "herstellen geannuleerd door gebruiker";
$Lang{Reason_archive_canceled_by_user} = "archivering geannuleerd door gebruiker";
+$Lang{Disabled_OnlyManualBackups} = "ENG auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "ENG disabled";
# ---------
# Email messages
<tr class="tableheader"><td> Host </td>
<td align="center"> Usuario </td>
<td align="center"> #Completo </td>
- <td align="center"> Completo Antig./Dias </td>
- <td align="center"> Completo Tamanho/GB </td>
- <td align="center"> Velocidade MB/sec </td>
+ <td align="center"> Completo Antig. (Dias) </td>
+ <td align="center"> Completo Tamanho (GB) </td>
+ <td align="center"> Velocidade (MB/sec) </td>
<td align="center"> #Incrementais </td>
- <td align="center"> Incrementais Antig/Dias </td>
+ <td align="center"> Incrementais Antig (Dias) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Estado </td>
<td align="center"> Última Tentativa </td></tr>
\$strGood
<tr class="tableheader"><td> Host </td>
<td align="center"> Usuario </td>
<td align="center"> #Completo </td>
- <td align="center"> Completo Antig./Dias </td>
- <td align="center"> Completo Tamanho/GB </td>
- <td align="center"> Velocidade MB/sec </td>
+ <td align="center"> Completo Antig. (Dias) </td>
+ <td align="center"> Completo Tamanho (GB) </td>
+ <td align="center"> Velocidade (MB/sec)</td>
<td align="center"> #Incrementais </td>
- <td align="center"> Incrementais Antig/Dias </td>
+ <td align="center"> Incrementais Antig (Dias) </td>
+ <td align="center"> ENG Last Backup (days) </td>
<td align="center"> Estado </td>
<td align="center"> Última tentativa </td></tr>
\$strNone
<input type="hidden" name="action" value="Restore">
<br>
<table width="100%">
-<tr><td valign="top">
- <br><table align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
+<tr><td valign="top" width="30%">
+ <table align="left" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
\$dirStr
</table>
</td><td width="3%">
$Lang{Reason_backup_canceled_by_user} = "backup cancelado pelo usuário";
$Lang{Reason_restore_canceled_by_user} = "restauração cancelada pelo usuário";
$Lang{Reason_archive_canceled_by_user} = "arquivamento cancelado pelo usuário";
+$Lang{Disabled_OnlyManualBackups} = "ENG auto disabled";
+$Lang{Disabled_AllBackupsDisabled} = "ENG disabled";
# ---------
# Email messages
umask(0022);
-my $Version = "3.0.0beta1";
-my $ReleaseDate = "30 Jul 2006";
+my $Version = "3.0.0beta2";
+my $ReleaseDate = "31 Oct 2006";
my $DistDir = "dist/BackupPC-$Version";
my @PerlSrc = qw(
conf/config.pl
conf/hosts
conf/BackupPC_stnd.css
+ conf/BackupPC_stnd_orig.css
init.d/README
init.d/src/debian-backuppc
init.d/src/gentoo-backuppc
s/#.*//g;
s/\$Lang{([^}]*)}/
my $var = $1;
- next if ( $var =~ m{^(Reason_|Status_|backupType_)} );
+ next if ( $var =~ m{^(Reason_|Status_|backupType_|Disabled_)} );
next if ( $var eq "Documentation" );
if ( !defined($vars->{$var}) ) {
print("Unexpected Lang var $var in $f\n");