1 |
dpavlin |
1 |
#======================================================================== |
2 |
|
|
# |
3 |
|
|
# ChangeLog - change log for BackupPC. |
4 |
|
|
# |
5 |
|
|
# DESCRIPTION |
6 |
|
|
# Revision history for BackupPC, detailing significant changes between |
7 |
|
|
# versions, most recent first. |
8 |
|
|
# |
9 |
|
|
# AUTHOR |
10 |
|
|
# Craig Barratt <cbarratt@users.sourceforge.net> |
11 |
|
|
# |
12 |
|
|
#======================================================================== |
13 |
|
|
# |
14 |
dpavlin |
316 |
# Version 2.1.2, released 5 Sep 2005. |
15 |
dpavlin |
1 |
# |
16 |
|
|
# See http://backuppc.sourceforge.net. |
17 |
|
|
# |
18 |
|
|
#======================================================================== |
19 |
|
|
|
20 |
|
|
#------------------------------------------------------------------------ |
21 |
dpavlin |
316 |
# Version 2.1.2, 5 Sep 2005 |
22 |
|
|
#------------------------------------------------------------------------ |
23 |
|
|
|
24 |
|
|
* Fixed simple but serious bug in bin/BackupPC_tarCreate that prevented |
25 |
|
|
hardlinks being saved correctly. Debugged by Michael (mna.news) |
26 |
|
|
with several other people. |
27 |
|
|
|
28 |
|
|
* Fixed serious bug in bin/BackupPC_dump reported/debugged by Dan Niles |
29 |
|
|
that can happen when multiple full backups are deleted after |
30 |
|
|
$Conf{FullKeepCnt} is changed. |
31 |
|
|
|
32 |
|
|
* Changed lib/BackupPC/CGI/Lib.pm so that link to "$TopDir/conf/$host.pl" |
33 |
|
|
is displayed if it exists. Patch from Andreas Vögele. |
34 |
|
|
|
35 |
|
|
* Applied daemonize patch to bin/BackupPC from: |
36 |
|
|
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=301057 |
37 |
|
|
|
38 |
|
|
* It's now a fatal error if $Conf{CompressLevel} is set, but |
39 |
|
|
Compress::Zlib is not found. Before $Conf{CompressLevel} was |
40 |
|
|
silently set to 0, which made all the backups uncompressed. |
41 |
|
|
That meant the user never knew if they forget to install |
42 |
|
|
Compress::Zlib but were expecting compression to be on. |
43 |
|
|
|
44 |
|
|
* Finally increased $Conf{ClientTimeout} to 72000 (20 hours). |
45 |
|
|
|
46 |
|
|
* Added sleep 1 in restart() function in init.d/src/gentoo-backuppc, |
47 |
|
|
suggested by Jon Hood. |
48 |
|
|
|
49 |
|
|
* Added $DestDir to the path of the CGI image directory in configure.pl. |
50 |
|
|
Patch submitted by Andreas Vögele. |
51 |
|
|
|
52 |
|
|
* Applied extensive patch to French translation from Frederic Lehobey. |
53 |
|
|
|
54 |
|
|
* Minor change to Dutch language $Lang{Pool_Stat} from Wander Winkelhorst. |
55 |
|
|
|
56 |
|
|
* Minor change to French language $Lang{EMailOutlookBackupMesg} and |
57 |
|
|
$Lang{EMailOutlookBackupSubj} from Ludovic Gasc. |
58 |
|
|
|
59 |
|
|
#------------------------------------------------------------------------ |
60 |
|
|
# Version 2.1.1, 13 Mar 2005 |
61 |
|
|
#------------------------------------------------------------------------ |
62 |
|
|
|
63 |
|
|
* Fixed bug in top-level restore using rsync XferMethod. |
64 |
|
|
BackupPC::View was leaving an extra leading "/" at the start |
65 |
|
|
of top-level directories, messing up the FileList sort order. |
66 |
|
|
Reported and debugged by Gail Edwards. |
67 |
|
|
|
68 |
|
|
* Added pathCreate() to BackupPC_tarExtract so that new directories |
69 |
|
|
are created. Required for xtar on MacOSX since the virtual resource |
70 |
|
|
fork directories (.rsrc) are not explicitly included in the tar |
71 |
|
|
archive - just the files below .rsrc are. |
72 |
|
|
|
73 |
|
|
* Changed $host.$bkupNum.tar$fileExt.* to $host.$bkupNum.tar$fileExt* |
74 |
|
|
in $parCmd in bin/BackupPC_archiveHost. |
75 |
|
|
|
76 |
|
|
* Fixed HostSortCompare() in BackupPC to correctly sort hosts so |
77 |
|
|
those with the oldest backups get queued first. |
78 |
|
|
|
79 |
|
|
* Changed test in BackupPC_sendEmail so that directories/files |
80 |
|
|
starting with "." in $TopDir/pc are ignored, rather than |
81 |
|
|
just "." and "..". |
82 |
|
|
|
83 |
|
|
* Changed BackupPC_sendEmail to include NT_STATUS_FILE_LOCK_CONFLICT |
84 |
|
|
in check for bad outlook files. |
85 |
|
|
|
86 |
|
|
* Ensure that %Status and %StatusHost are empty if requesting |
87 |
|
|
status on hosts in lib/BackupPC/CGI/Lib.pm GetStatusInfo(). |
88 |
|
|
Fixes problem with new hosts under mod_perl. |
89 |
|
|
|
90 |
|
|
* Added images/icon-hardlink.gif so that hardlinks show file type icon. |
91 |
|
|
|
92 |
|
|
#------------------------------------------------------------------------ |
93 |
|
|
# Version 2.1.0pl1, 15 Aug 2004 |
94 |
|
|
#------------------------------------------------------------------------ |
95 |
|
|
|
96 |
|
|
* Added fix to lib/BackupPC/Lang/nl.pm from Lieven Bridts. |
97 |
|
|
|
98 |
|
|
* Added patch from Tony Nelson to remove $Info{pid} before BackupPC |
99 |
|
|
writes the status and shuts down. |
100 |
|
|
|
101 |
|
|
* Changed BackupPC_nightly so that it doesn't call find() if the |
102 |
|
|
directory doesn't exist. This avoids errors in certain versions |
103 |
|
|
of perl. Reported by Bernd Rilling. |
104 |
|
|
|
105 |
|
|
* Fixed BackupPC::CGI::Lib to correctly re-load config.pl for mod_perl. |
106 |
|
|
Reported by Tony Nelson and Jimmy Liang. |
107 |
|
|
|
108 |
|
|
* Explicitly untaint $In{host} in BackupPC::CGI::Lib to fix problem |
109 |
|
|
reported by Thomas Tempé. |
110 |
|
|
|
111 |
|
|
* Added newline to "...skipping because of user requested delay..." |
112 |
|
|
log message in BackupPC_dump. Reported by Wayne Scott. |
113 |
|
|
|
114 |
|
|
* Added read file size error checking to BackupPC_tarCreate. |
115 |
|
|
Reported by Brandon Evans. |
116 |
|
|
|
117 |
|
|
* Added check in BackupPC::Xfer::RsyncFileIO to ensure that when |
118 |
|
|
compression is toggled on/off, a compressed backup doesn't link |
119 |
|
|
to an uncompressed pool file (and an uncompressed backup doesn't |
120 |
|
|
link to a compressed pool file). Reported by Brandon Evans. |
121 |
|
|
|
122 |
|
|
* Updated documentation with new dirvish URL and a typo from |
123 |
|
|
Todd Curry. |
124 |
|
|
|
125 |
|
|
* Fix to BackupPC_sendEmail so that it correctly sends admin emails |
126 |
|
|
for hosts that have failed backups. Reported by Simon Kuhn. |
127 |
|
|
|
128 |
|
|
#------------------------------------------------------------------------ |
129 |
dpavlin |
1 |
# Version 2.1.0, 20 Jun 2004 |
130 |
|
|
#------------------------------------------------------------------------ |
131 |
|
|
|
132 |
|
|
* Added Dutch translation from Lieven Bridts, with tweaks from |
133 |
|
|
Guus Houtzager. |
134 |
|
|
|
135 |
|
|
* Added PC-specific config file read in CGI/Archive.pm. Patch |
136 |
|
|
from Pete Wenzel. |
137 |
|
|
|
138 |
|
|
* Added non-zero exit code to BackupPC_zcat when uncompress fails. |
139 |
|
|
Patch from Pete Wenzel. |
140 |
|
|
|
141 |
|
|
* Cosmetic changes to PC Summary and Log file language strings from |
142 |
|
|
Pete Wenzel. |
143 |
|
|
|
144 |
|
|
* BackupPC::Lib tries to be more careful when renaming the backups |
145 |
|
|
file to backups.old. There have been reports of backups being |
146 |
|
|
empty, perhaps when the BackupPC data file system fills up. |
147 |
|
|
Now backups is not renamed to backups.old if backups is empty. |
148 |
|
|
|
149 |
|
|
* BackupPC now closes stderr and stdout before renaming and |
150 |
|
|
re-opening the log file. |
151 |
|
|
|
152 |
|
|
* Pre/post backup/restore/archive commands now correctly set |
153 |
|
|
"type" to either incr/full/restore/archive, and now cmdType |
154 |
|
|
is the type of Pre/post backup/restore/archive command. |
155 |
|
|
|
156 |
|
|
* BackupPC_archive correctly terminates archive processes on |
157 |
|
|
alarm or cancel. |
158 |
|
|
|
159 |
|
|
* Updates to BackupPC_stnd.css with absolute font sizes instead |
160 |
|
|
of relative. |
161 |
|
|
|
162 |
|
|
* BackupPC_dump now makes sure that the $Conf{FullAgeMax} check |
163 |
|
|
also ensures the full backup is older than the maximum age |
164 |
|
|
expected from $Conf{FullPeriod}. |
165 |
|
|
|
166 |
|
|
#------------------------------------------------------------------------ |
167 |
|
|
# Version 2.1.0beta2pl1, 30 May 2004 |
168 |
|
|
#------------------------------------------------------------------------ |
169 |
|
|
|
170 |
|
|
* Fixed bug in rsync checksum caching code in BackupPC::Xfer::RsyncDigest. |
171 |
|
|
|
172 |
|
|
* BackupPC_zipCreate now ensures the earliest mtime is 1/1/1980, |
173 |
|
|
since zip file formats don't support earlier dates. Reported |
174 |
|
|
by Dan Niles. |
175 |
|
|
|
176 |
|
|
* CGI restore via zip and tar now makes sure stderr is ignored |
177 |
|
|
when BackupPC_tarCreate and BackupPC_zipCreate are run. |
178 |
|
|
Previously any stderr output would get mixed in the archive, |
179 |
|
|
corrupting it. Reported by Dan Niles. |
180 |
|
|
|
181 |
|
|
#------------------------------------------------------------------------ |
182 |
|
|
# Version 2.1.0beta2, 23 May 2004 |
183 |
|
|
#------------------------------------------------------------------------ |
184 |
|
|
|
185 |
|
|
* $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} now apply |
186 |
|
|
to every share, rather than just the first, in the case where |
187 |
|
|
they are arrays and there are multiple shares. Suggested |
188 |
|
|
by Andy Evans. |
189 |
|
|
|
190 |
|
|
* On the phase 2 retry pass with rsync, verify the cached checksums |
191 |
|
|
if checksum caching is turned on. This will catch the case of |
192 |
|
|
cached checksums being incorrectly appended to the compressed |
193 |
|
|
pool file. Added new config parameter $Conf{RsyncCsumCacheVerifyProb} |
194 |
|
|
so that cached checksums are verified with a selectable probability. |
195 |
|
|
Also, increased File::RsyncP version number to 0.51. |
196 |
|
|
|
197 |
|
|
* configure.pl now supports an optional batch mode. Command-line |
198 |
|
|
options are used to specify all the information that configure.pl |
199 |
|
|
needs. This is useful for building auto-install packages. |
200 |
|
|
Also, configure.pl now includes pod documentation, so you can do |
201 |
|
|
"perldoc configure.pl" to see all the command-line options. |
202 |
|
|
Suggested, tested and tweaked by Stuart Herbert for possible |
203 |
|
|
Gentoo inclusion. |
204 |
|
|
|
205 |
|
|
* At each wakeup, clients are now queued based on how old the most |
206 |
|
|
recent backup is. Clients with errors are queued first, with |
207 |
|
|
the oldest error times going first. The rest of the clients are |
208 |
|
|
queued next, with the clients with the oldest backup going first. |
209 |
|
|
Previously the clients were simply queued in alphabetic order. |
210 |
|
|
Suggested by Mike Trisko and Tony Nelson. |
211 |
|
|
|
212 |
|
|
* Added config parameter $Conf{PartialAgeMax} that controls whether |
213 |
|
|
partials are saved at all, and if so, whether the partial will be |
214 |
|
|
ignored at the next full backup if it is too old. |
215 |
|
|
|
216 |
|
|
* BackupPC_tarExtract now allows empty archives without reporting |
217 |
|
|
an error. Reported by Don Silvia. |
218 |
|
|
|
219 |
|
|
* Removed Browse Backups link from Nav Bar in Archive Info display. |
220 |
|
|
Reported by Ralph Paßgang. |
221 |
|
|
|
222 |
|
|
* Fixed documentation display for regular users. Reported by Ralph Paßgang. |
223 |
|
|
|
224 |
|
|
* Status and PC Summary now work for regular users and only show |
225 |
|
|
that user's hosts. Server general status information only appears |
226 |
|
|
for admins. Suggested by Ralph Paßgang. |
227 |
|
|
|
228 |
|
|
* Moved the last three navigation-bar links (docs, FAQ and SF) to |
229 |
|
|
a new config parameter $Conf{CgiNavBarLinks}. This allows |
230 |
|
|
these links to be locally configured. Based on a patch |
231 |
|
|
submitted by Ralph Paßgang. |
232 |
|
|
|
233 |
|
|
* Allow the navigation bar search box to be disabled by |
234 |
|
|
setting $Conf{CgiSearchBoxEnable} to 0. Based on a patch |
235 |
|
|
submitted by Ralph Paßgang. |
236 |
|
|
|
237 |
|
|
* Updates to de.pm from Ralph Paßgang. |
238 |
|
|
|
239 |
|
|
* Made the BackupPC icon a link to the SF BackupPC project page. |
240 |
|
|
|
241 |
|
|
#------------------------------------------------------------------------ |
242 |
|
|
# Version 2.1.0beta1, 4 Apr 2004 |
243 |
|
|
#------------------------------------------------------------------------ |
244 |
|
|
|
245 |
|
|
* The CSS definition has been removed from the config.pl file and |
246 |
|
|
is now a separate file, BackupPC_stnd.css. A new config variable, |
247 |
|
|
$Conf{CgiCSSFile}, gives the name of the CSS file to use. |
248 |
|
|
Suggested by Ender Mathias. |
249 |
|
|
|
250 |
|
|
* Fixed the filling of the host name select box for admins. |
251 |
|
|
The default $Conf{CgiNavBarAdminAllHosts} is now 1. |
252 |
|
|
Reported by Doug Lytle. |
253 |
|
|
|
254 |
|
|
* Cleaned up warning message for restore using rsync when checksum |
255 |
|
|
caching is on, but when file didn't have cached checksums. |
256 |
|
|
|
257 |
|
|
* Fixed BackupPC_archiveHost to support par2 (par2cmdline). |
258 |
|
|
Patch submitted by Jaco Bongers and adapted by Josh Marshall. |
259 |
|
|
|
260 |
|
|
* Improved stat() usage in BackupPC_nightly, plus some other cleanup, |
261 |
|
|
giving a significant performance improvement. Patch submitted by |
262 |
|
|
Wayne Scott. |
263 |
|
|
|
264 |
|
|
* Allow several BackupPC_nightly processes to run in parallel based |
265 |
|
|
on new $Conf{BackupPCNightlyJobs} setting. This speeds up the |
266 |
|
|
traversal of the pool, reducing the overall run time for |
267 |
|
|
BackupPC_nightly. |
268 |
|
|
|
269 |
|
|
* Allow BackupPC_nightly to split the pool traversal across several |
270 |
|
|
nightly runs. This improves the running time per night, at the expense |
271 |
|
|
of a slight increase in disk storage as unused pool files might not |
272 |
|
|
be deleted for a couple of days. Controller by new config setting |
273 |
|
|
$Conf{BackupPCNightlyPeriod}. |
274 |
|
|
|
275 |
|
|
#------------------------------------------------------------------------ |
276 |
|
|
# Version 2.1.0beta0, 20 Mar 2004 |
277 |
|
|
#------------------------------------------------------------------------ |
278 |
|
|
|
279 |
|
|
* A failed full dump is now saved as a partial (incomplete) dump, |
280 |
|
|
provided it includes some files. This can be used for browsing, |
281 |
|
|
restoring etc, and will also form the basis of resuming full |
282 |
|
|
dumps. Only one partial is kept, and it is removed as soon |
283 |
|
|
as a successful full (or a new partial) is done. |
284 |
|
|
|
285 |
|
|
* Added support for resuming a full dump for rsync. The partial |
286 |
|
|
full is kept, and to resume an incremental is done against the |
287 |
|
|
partial, and a full is done for the rest. |
288 |
|
|
|
289 |
|
|
* Added support for Rsync checksum caching. Rsync checksum are |
290 |
|
|
appended to the compressed pool files. This means that block |
291 |
|
|
and file checksums do not need to be recomputed on the server |
292 |
|
|
when using rsync. Requires a patch to rsync to support fixed |
293 |
|
|
checksum seeds. This patch is included in the cygwin-rsyncd |
294 |
|
|
release on http://backuppc.sourceforge.net. |
295 |
|
|
|
296 |
|
|
* Major addition of Archive feature from Josh Marshall. Special |
297 |
|
|
clients can be configured to be archive targets (eg: tape drives, |
298 |
|
|
CD-R). Any subset of the backup clients can be selected and tar |
299 |
|
|
archives are created, optionally compressed and split and written |
300 |
|
|
to the output device. Logs are maintained and are browsable. |
301 |
|
|
|
302 |
|
|
* Major changes from Ryan Kucera to add style sheets to the CGI |
303 |
|
|
interface, allowing easy customization. Added new icons and |
304 |
|
|
BackupPC logo. Numerous navigation improvements. |
305 |
|
|
|
306 |
|
|
* Added directory history display to BackupPC_Admin, allowing the |
307 |
|
|
user to quickly see which files changed between backups on a |
308 |
|
|
per-directory basis. |
309 |
|
|
|
310 |
|
|
* Added exponential expiry option for full dumps. This allows you |
311 |
|
|
to specify |
312 |
|
|
|
313 |
|
|
- how many fulls to keep at intervals of $Conf{FullPeriod}, followed by |
314 |
|
|
- how many fulls to keep at intervals of 2 * $Conf{FullPeriod}, |
315 |
|
|
- how many fulls to keep at intervals of 4 * $Conf{FullPeriod}, |
316 |
|
|
- how many fulls to keep at intervals of 8 * $Conf{FullPeriod}, |
317 |
|
|
- how many fulls to keep at intervals of 16 * $Conf{FullPeriod}, |
318 |
|
|
|
319 |
|
|
and so on. This allows you, for example, to keep 4 weekly fulls, |
320 |
|
|
followed by 6 fulls every 4 weeks (approx 1 month) and 2 fulls at |
321 |
|
|
16 weeks, for roughly 1 year of history. This works by deleting |
322 |
|
|
every other full as each expiry boundary is crossed. Suggested |
323 |
|
|
by David Cramblett. |
324 |
|
|
|
325 |
|
|
* Added Italian language translation it.pm from Lorenzo Cappelletti. |
326 |
|
|
|
327 |
|
|
* Major updates to language files for new features and tags changes. |
328 |
|
|
Updated makeDist to do pedantic consistency checking of language |
329 |
|
|
files. |
330 |
|
|
|
331 |
|
|
* Addition of administration options from Paul Lukins. Initial |
332 |
|
|
page allows server to be started/stopped/reloaded. This still |
333 |
|
|
needs some i18n work. Currently the server start/stop is |
334 |
|
|
commented out. |
335 |
|
|
|
336 |
|
|
* Split BackupPC_Admin into a set of modules, one for each major action. |
337 |
|
|
Each action is now a seperate module in lib/BackupPC/CGI. |
338 |
|
|
|
339 |
|
|
* Allow the blackout period begin/end to span midnight. Adapted |
340 |
|
|
from patch submitted by David Smith. |
341 |
|
|
|
342 |
|
|
* Allow multiple blackout periods, with new config variable |
343 |
|
|
$Conf{BlackoutPeriods} that replaces the old variables |
344 |
|
|
$Conf{BlackoutHourBegin}, $Conf{BlackoutHourEnd}, and |
345 |
|
|
$Conf{BlackoutWeekDays}. Based on patch submitted by |
346 |
|
|
Lorenzo Cappelletti. |
347 |
|
|
|
348 |
|
|
* Disabled alarms after forks to avoid timeouts in children that |
349 |
|
|
do not reset their alarm. Prompted by ideas from James Leu. |
350 |
|
|
|
351 |
|
|
* Added options for block size, buffer size and share wild-card to |
352 |
|
|
BackupPC_tarCreate. Also added negative backup number options |
353 |
|
|
that are relative to the last (so -1 is the last), suggested by |
354 |
|
|
William McKee and Carl Soderstrom. |
355 |
|
|
|
356 |
|
|
* The "Wrong user" message in BackupPC::Lib now goes to stderr, so that |
357 |
|
|
the user is more likely to see the error with BackupPC_tarCreate. |
358 |
|
|
Reported by Paul Fox. |
359 |
|
|
|
360 |
|
|
* Add creation of per-PC directory in BackupPC/CGI/Restore.pm in |
361 |
|
|
case it doesn't already exist. |
362 |
|
|
|
363 |
|
|
* Added -q -x to all ssh commands in conf/config.pl. Suggested by |
364 |
|
|
SI Reasoning and Niranjan Ghate. |
365 |
|
|
|
366 |
|
|
* Changed restore code so that option #1 (direct restore) can be |
367 |
|
|
disabled if the restore command is undefined. Disabling direct |
368 |
|
|
restore is necessary if the share is read-only. Suggested by |
369 |
|
|
Rich B from SAIC. |
370 |
|
|
|
371 |
|
|
* Changed regexp in lib/BackupPC/Smb.pm to allow numbers with both |
372 |
|
|
a decimal point or comma for international versions of Samba. |
373 |
|
|
Patch submitted by Frank Gard. |
374 |
|
|
|
375 |
|
|
* Browsing and directory history now sort the files in a |
376 |
|
|
case-insensitive manner. |
377 |
|
|
|
378 |
|
|
* Changed exec() syntax to allow executing commands whose path |
379 |
|
|
contains spaces. |
380 |
|
|
|
381 |
|
|
* BackupPC_dump no longer removes backups if $Conf{FullKeepCnt} |
382 |
|
|
is zero or undefined. The protects the existing backups in the |
383 |
|
|
case of a bad config.pl file. Suggested by Christian Warden. |
384 |
|
|
|
385 |
|
|
* Swapped the Server and Hosts sections on the Nav bar. Moved the |
386 |
|
|
host search text box to the top of the hosts section. This was |
387 |
|
|
done to move the variable-length part of the Nav bar (when all |
388 |
|
|
hosts are displayed) to the bottom. |
389 |
|
|
|
390 |
|
|
* Fixed a bug in tar restore related to how the common prefix path is |
391 |
|
|
removed. Now ensure that the common path is at a directory boundary. |
392 |
|
|
Reported by Patrick Neuner. |
393 |
|
|
|
394 |
|
|
* Added --chuid ${USER} to init.d/src/gentoo-backuppc. Suggested by |
395 |
|
|
SI Reasoning, Pascal Pochol, Michael Evanoff and others. |
396 |
|
|
|
397 |
|
|
* Added Suse notes to init.d/README from Bruno Vernay. |
398 |
|
|
|
399 |
|
|
* Added Apache 2 documentation fix from Michael Tuzi. |
400 |
|
|
|
401 |
|
|
#------------------------------------------------------------------------ |
402 |
|
|
# Version 2.0.2, 6 Oct 2003 |
403 |
|
|
#------------------------------------------------------------------------ |
404 |
|
|
|
405 |
|
|
* Fixed stupid last-minute change in octal size conversion in |
406 |
|
|
Backup_tarExtract. |
407 |
|
|
|
408 |
|
|
#----------------------------------------------------------------------- |
409 |
|
|
# Version 2.0.1, 5 Oct 2003 |
410 |
|
|
#------------------------------------------------------------------------ |
411 |
|
|
|
412 |
|
|
* Fixed handling of >= 8GB files in BackupPC_tarExtract and >= 4GB |
413 |
|
|
files in BackupPC_tarCreate. |
414 |
|
|
|
415 |
|
|
* Removed smbclient size repair in BackupPC_tarExtract for files |
416 |
|
|
between 2GB and 4GB. This means that BackupPC_tarExtract 2.0.1 |
417 |
|
|
doesn't behave the same as 2.0.0 for file sizes between 2GB and 4GB |
418 |
|
|
extacted using smbclient 2.2.x. If you have problems backing up |
419 |
|
|
files whose size is between 2GB and 4GB using smbclient 2.2.x |
420 |
|
|
you should upgrade smbclient to 3.0, since it now generates |
421 |
|
|
correct file sizes. |
422 |
|
|
|
423 |
|
|
* Replace PingClientPath with PingPath in configure.pl. |
424 |
|
|
|
425 |
|
|
* Removed -T (taint mode) on binaries installed in configure.pl. |
426 |
|
|
|
427 |
|
|
* Added support for smbclient from samba version 3.0.0. |
428 |
|
|
|
429 |
|
|
* Fixed $Conf{HardLinkMax} limit check in BackupPC::Lib; reported |
430 |
|
|
by Ross Skaliotis. |
431 |
|
|
|
432 |
|
|
* In BackupPC_Admin, default REMOTE_USER to $Conf{BackupPCUser} |
433 |
|
|
if it is not defined. This allows the CGI interface to work |
434 |
|
|
when AdminUsers = '*'. Reported by Quentin Arce. |
435 |
|
|
|
436 |
|
|
* For SMB, code that detected files with a read-locked region (eg: |
437 |
|
|
outlook .pst files), removed them and then tried to link with an |
438 |
|
|
earlier version was broken. This code missed a step of mangling |
439 |
|
|
the file names. This is now fixed. Reported by Pierre Bourgin. |
440 |
|
|
|
441 |
|
|
* A backup of a share that has zero files is now considered |
442 |
|
|
fatal. This is used to catch miscellaneous Xfer errors that |
443 |
|
|
result in no files being backed up. A new config parameter |
444 |
|
|
$Conf{BackupZeroFilesIsFatal} (defaults to 1) and can be set to |
445 |
|
|
zero to turn off this check. Suggested by Guillaume Filion. |
446 |
|
|
Additional change: this check only applies to a full dump. |
447 |
|
|
|
448 |
|
|
* SMB: now detect NT_STATUS_ACCESS_DENIED on entire share or BackupFilesOnly |
449 |
|
|
(also ERRDOS - ERRnoaccess (Access denied.) for older versions of |
450 |
|
|
smbclient.) Suggested by Guillaume Filion. |
451 |
|
|
|
452 |
|
|
* SMB: now detects "tree connect failed: NT_STATUS_BAD_NETWORK_NAME" and |
453 |
|
|
the dump is considered failed. |
454 |
|
|
|
455 |
|
|
* Rsync: Previously BackupFilesOnly = '/' did --include '/' --exclude '/*', |
456 |
|
|
which just included the '/' directory and nothing below. Now it |
457 |
|
|
does just --include '/', which should include everything. |
458 |
|
|
Reported by denon. |
459 |
|
|
|
460 |
|
|
* Add hostError to DumpPostUserCmd variable substitutions for both dump |
461 |
|
|
and restore. |
462 |
|
|
|
463 |
|
|
* Verbose output in Lib.pm goes to STDERR, not STDOUT. This now |
464 |
|
|
makes BackupPC_dump -v work better. |
465 |
|
|
|
466 |
|
|
* Don't allow browsing with ".." in directory in case a user tries |
467 |
|
|
to trick BackupPC_Admin into displaying directories outside where |
468 |
|
|
they are allowed. |
469 |
|
|
|
470 |
|
|
* Required File::RsyncP version is now 0.44, since File::RsyncP 0.44 |
471 |
|
|
fixes large file (>2GB) bugs. Large file bugs reported by Steve |
472 |
|
|
Waltner. |
473 |
|
|
|
474 |
|
|
#------------------------------------------------------------------------ |
475 |
|
|
# Version 2.0.0, 14 Jun 2003 |
476 |
|
|
#------------------------------------------------------------------------ |
477 |
|
|
|
478 |
|
|
* Minor tweaks to disable utf8 on utf8-capable machines (eg: RH8+). |
479 |
|
|
Added "no utf8" to all programs, and added binmode() to relevant |
480 |
|
|
file handles. |
481 |
|
|
|
482 |
|
|
#------------------------------------------------------------------------ |
483 |
|
|
# Version 2.0.0beta3, 1 Jun 2003 |
484 |
|
|
#------------------------------------------------------------------------ |
485 |
|
|
|
486 |
|
|
* Several improvements to restore: cancel now reports the correct |
487 |
|
|
message and cleans up correctly. |
488 |
|
|
|
489 |
|
|
* Rsync with whitespace and wildcard excludes fixed by replacing |
490 |
|
|
argList with argList+ in config.pl plus a fix to Lib.pm for |
491 |
|
|
shell escaping array arguments. |
492 |
|
|
|
493 |
|
|
* Fixed rsync restore for character and block special devices |
494 |
|
|
(major and minor device numbers weren't correctly restored). |
495 |
|
|
|
496 |
|
|
* Fixed typo in bin/BackupPC_restore (XferLOG -> RestoreLOG). |
497 |
|
|
|
498 |
|
|
* (Re)-fixed "Bad command" in log file when restore via tar or zip |
499 |
|
|
file download is done. |
500 |
|
|
|
501 |
|
|
* Added untaint to exec in Lib.pm to avoid tainted errors. |
502 |
|
|
|
503 |
|
|
* Applied additional tweak to hilight patch from Tim Demarest. |
504 |
|
|
|
505 |
|
|
* $Conf{CgiAdminUsers} = '*' now allows privileged even with REMOTE_USER |
506 |
|
|
not set. |
507 |
|
|
|
508 |
|
|
* Don't display RsyncdPasswd when displaying config.pl files. |
509 |
|
|
|
510 |
|
|
* Replace pipe with socketpair in bin/BackupPC_dump and bin/BackupPC_restore, |
511 |
|
|
which increases typical buffering from 4K to 16K-64K. This improves the |
512 |
|
|
performance. |
513 |
|
|
|
514 |
|
|
* Add check on $ENV{LANG} setting do configure.pl: if LANG includes utf |
515 |
|
|
then a warning is printed. |
516 |
|
|
|
517 |
|
|
#------------------------------------------------------------------------ |
518 |
|
|
# Version 2.0.0beta2, 11 May 2003 |
519 |
|
|
#------------------------------------------------------------------------ |
520 |
|
|
|
521 |
|
|
* Added German translation, provided by Manfred Herrmann. |
522 |
|
|
|
523 |
|
|
* Fixed large-file problem with rsync, reported by Manfred Herrmann. |
524 |
|
|
|
525 |
|
|
* Fixed zip and tar file download from CGI under mod_perl. Reported |
526 |
|
|
by Pierre Bourgin and Paul Lukins. |
527 |
|
|
|
528 |
|
|
* Fixed directory browsing and top-level directory browsing in 2.0.0beta0. |
529 |
|
|
Reported by several users. |
530 |
|
|
|
531 |
|
|
* Added -v option to BackupPC_dump for verbose output (useful when |
532 |
|
|
you run the command manually). Added messages for all exits. |
533 |
|
|
|
534 |
|
|
* If nmblookup returns multiple IP addresses, NetBiosHostIPFind() |
535 |
|
|
now returns the first IP address that matches the subnet mask. |
536 |
|
|
Suggested by Tim Demarest. |
537 |
|
|
|
538 |
|
|
* Fixed BackupPC::View so the top-level directory is handled correctly. |
539 |
|
|
This allows the top-level share/directory to be restored via the |
540 |
|
|
CGI interface. Reported by several users. |
541 |
|
|
|
542 |
|
|
* Fixed RsyncFileIO failures on certain large files by replacing seek() |
543 |
|
|
with sysseek(). Reported by Manfred Herrmann. |
544 |
|
|
|
545 |
|
|
* Added configurable highlighting of PC status in the CGI summary |
546 |
|
|
screen; submitted by Tim Demarest. |
547 |
|
|
|
548 |
|
|
* Fixed command queue CGI display; submitted by Tim Demarest. |
549 |
|
|
|
550 |
|
|
* BackupPC_trashClean now logs an error if it can't remove all the |
551 |
|
|
trash and then goes back to sleep, rather than continually trying. |
552 |
|
|
|
553 |
|
|
* Moved correct user (uid) check into BackupPC::Lib so that all |
554 |
|
|
applications do a user check if $Cong{BackupPCUserVerify} is |
555 |
|
|
set. The avoids the risk of manually running BackupPC_dump as |
556 |
|
|
the wrong user. |
557 |
|
|
|
558 |
|
|
* Loss of blackout now applies to "host not found" as well as no ping. |
559 |
|
|
Reported by Dale Renton. |
560 |
|
|
|
561 |
|
|
* "Host not found" is now treated in a similar manner to "no ping". |
562 |
|
|
|
563 |
|
|
* Added suse-linux init.d script from Leon Letto. |
564 |
|
|
|
565 |
|
|
* Added Gentoo linux init.d script from Tim Demarest. |
566 |
|
|
|
567 |
|
|
* Applied additional i18n strings from GFK and the translation team. |
568 |
|
|
|
569 |
|
|
* Fixed option parsing so that getopts errors are reported and we exit. |
570 |
|
|
|
571 |
|
|
* Changed reporting of Xfer PIDs so that rsync cancel works correctly. |
572 |
|
|
|
573 |
|
|
#------------------------------------------------------------------------ |
574 |
|
|
# Version 2.0.0beta1, 30 Mar 2003 |
575 |
|
|
#------------------------------------------------------------------------ |
576 |
|
|
|
577 |
|
|
* Added Spanish translation es.pm from Javier Gonzalez. |
578 |
|
|
|
579 |
|
|
* Fixed CGI browse navigation bug that causes BackupPC_Admin to wedge |
580 |
|
|
when directories were selected in a certain order. |
581 |
|
|
|
582 |
|
|
* Fixed BackupPC::PoolWrite so that it can recover when the initial |
583 |
|
|
file size is wrong. This is needed since rsync could write a file |
584 |
|
|
whose size is different from the initial size returned in the |
585 |
|
|
file list when that file is updated while rsync is running. |
586 |
|
|
|
587 |
|
|
* Added binmode(STDIN) to BackupPC_tarExtract, suggested by Pat LoPresti |
588 |
|
|
to fix a problem a RedHat8 with perl 5.8.0. It's unclear why this |
589 |
|
|
helps, but it should be benign. See: |
590 |
|
|
http://sourceforge.net/mailarchive/forum.php?thread_id=1853018&forum_id=503 |
591 |
|
|
|
592 |
|
|
#------------------------------------------------------------------------ |
593 |
|
|
# Version 2.0.0beta0, 23 Feb 2003 |
594 |
|
|
#------------------------------------------------------------------------ |
595 |
|
|
|
596 |
|
|
* Support for rsync and rsyncd backup and restore. Changes to |
597 |
|
|
BackupPC_dump, BackupPC_restore, and new modules BackupPC::Xfer::Rsync |
598 |
|
|
and BackupPC::Xfer::RsyncFileIO. |
599 |
|
|
|
600 |
|
|
* Added internationalization (i18n) code from Xavier Nicollet, |
601 |
|
|
with additions from Guillaume Filion. Voila! BackupPC_Admin |
602 |
|
|
now supports English and French, and adding more languages is |
603 |
|
|
now easy. New config paramater $Conf{Language} sets the language. |
604 |
|
|
|
605 |
|
|
* Added optional user-defined pre/post dump/restore commands, allowing |
606 |
|
|
things like database shutdown/startup for dumps. |
607 |
|
|
|
608 |
|
|
* Changed the way hosts are found. |
609 |
|
|
|
610 |
|
|
* Added $Conf{ClientNameAlias}, which allows the name of the physical |
611 |
|
|
client machine to be set. This allows several different backup |
612 |
|
|
"hosts" to all refer to the same physical machine, which is |
613 |
|
|
convenient if several different types of data need to be backed |
614 |
|
|
up, or if different parameters are needed for different parts of |
615 |
|
|
the host. |
616 |
|
|
|
617 |
|
|
* Replaced $Conf{PingArgs} with $Conf{PingCmd}, added $Conf{DfCmd}, |
618 |
|
|
$Conf{NmbLookupCmd} allowing all these commands to be fully |
619 |
|
|
configured. Also, all commands can also now be fragments of |
620 |
|
|
perl code. |
621 |
|
|
|
622 |
|
|
* Moved all smbclient commands into the config.pl file so the specific |
623 |
|
|
arguments can be customized. New config parameters are |
624 |
|
|
$Conf{SmbClientFullCmd}, $Conf{SmbClientIncrCmd} and |
625 |
|
|
$Conf{SmbClientRestoreCmd}. |
626 |
|
|
|
627 |
|
|
* Added new BackupPC::View module that creates views of backups |
628 |
|
|
(handling merging etc). Updated BackupPC_Admin, BackupPC_zipCreate |
629 |
|
|
and BackupPC_tarCreate to use BackupPC::View. This removes lots |
630 |
|
|
of merging and mangling code from the higher-level code. |
631 |
|
|
|
632 |
|
|
* Added code from Toby Johnson that allows additional users to be |
633 |
|
|
specified in the hosts file; these users can also view/start/stop |
634 |
|
|
and restore backups for that host. Also added a new config |
635 |
|
|
setting $Conf{CgiNavBarAdminAllHosts} that allows all hosts to |
636 |
|
|
be listed in the left nav bar for admins. |
637 |
|
|
|
638 |
|
|
* Added $Conf{HardLinkMax} (default 31999) which sets the limit on |
639 |
|
|
the maximum number of hardlinks per file in the pool. If a file |
640 |
|
|
ever gets to this number of links a new pool file is created to |
641 |
|
|
handle additional links. |
642 |
|
|
|
643 |
|
|
* Added $Conf{PerlModuleLoad}, which allows optional additional perl |
644 |
|
|
modules to be loaded. |
645 |
|
|
|
646 |
|
|
* Added $Conf{EMailUserDestDomain} and other EMail config settings to |
647 |
|
|
allow language-specific default messages to be overridden. |
648 |
|
|
|
649 |
|
|
* Added BPC_FTYPE_DELETED to lib/BackupPC/Attrib.pm, allowing deleted |
650 |
|
|
files to be represented in the attrib file correctly. |
651 |
|
|
|
652 |
|
|
* Added support for environment variable BPC_SMB_PASSWD, which is the |
653 |
|
|
client's smb password. This overrides the old environment variable |
654 |
|
|
PASSWD. |
655 |
|
|
|
656 |
|
|
* Added taint cleanup for perl5.8 to lib/BackupPC/Lib.pm. |
657 |
|
|
|
658 |
|
|
* Changed $tar_unpack_header format in BackupPC_tarExtract to correctly |
659 |
|
|
handle files with trailing spaces. |
660 |
|
|
|
661 |
|
|
* Added catching of SIG_PIPE to BackupPC_dump, and changed catch_signal |
662 |
|
|
to ignore multiple signals of the same type. |
663 |
|
|
|
664 |
|
|
* Added reporting of the largest number of hardlinks in the pool to the |
665 |
|
|
log file. |
666 |
|
|
|
667 |
|
|
* Adding reporting of syntax errors in the per-PC config.pl file. |
668 |
|
|
|
669 |
|
|
* Updated BackupPC_sendEmail to handle language-specific email messages. |
670 |
|
|
|
671 |
|
|
* Allow client (host) names to contain spaces. Spaces in host names |
672 |
|
|
need to be escaped via "\" in the hosts file. The user of spaces in |
673 |
|
|
host names is discouraged, but they should work. One feature that |
674 |
|
|
doesn't work with host names that contain spaces is the highlighting |
675 |
|
|
of that name in the log file display in the CGI interface. There are |
676 |
|
|
no plans to fix this. |
677 |
|
|
|
678 |
|
|
* Renamed $Conf{SmbClientTimeout} to $Conf{ClientTimeout}. |
679 |
|
|
|
680 |
|
|
* Fixed all open() calls to use 3 argument form to fix handling of file |
681 |
|
|
names with trailing whitespace. Also fixed CGI interface so these |
682 |
|
|
file names are displayed correctly. |
683 |
|
|
|
684 |
|
|
* Fixed new 2.0.0 CGI navigation bug that causes the top-level directory |
685 |
|
|
to have a URL "&share=//boot&dir=" instead of "&share=/boot&dir=/". |
686 |
|
|
Reported by Pascal Schelcher. Fixed similar problem reported by |
687 |
|
|
Doug Lytle. |
688 |
|
|
|
689 |
|
|
* Added "PerlTaintCheck On" to the mod_perl section in the docs, |
690 |
|
|
suggested by Tim Demarest. |
691 |
|
|
|
692 |
|
|
#------------------------------------------------------------------------ |
693 |
|
|
# Version 1.5.0, 2 Aug 2002 |
694 |
|
|
#------------------------------------------------------------------------ |
695 |
|
|
|
696 |
|
|
* Changed conf/config.pl so that $Conf{TarIncrArgs} uses the --newer |
697 |
|
|
option instead of --newer-mtime. Also removed --atime-preserve from |
698 |
|
|
$Conf{TarClientCmd}. This makes the default settings work better |
699 |
|
|
with tripwire. |
700 |
|
|
|
701 |
|
|
* Fixed configure.pl so it correctly detects a running BackupPC <= v1.4.0 |
702 |
|
|
so it can correctly warn the user to stop it before upgrading. Reported |
703 |
|
|
by David Holland. |
704 |
|
|
|
705 |
|
|
* Added missing ";" to entity escape in EscapeHTML in BackupPC_Admin. |
706 |
|
|
Reported by Guillaume Filion. |
707 |
|
|
|
708 |
|
|
* Added LDAP setup to documentation from David Holland. |
709 |
|
|
|
710 |
|
|
* Tar.pm now adds a "." to file paths that start with "/", so that all |
711 |
|
|
tar paths are relative. From Ludovic Drolez. |
712 |
|
|
|
713 |
|
|
#------------------------------------------------------------------------ |
714 |
|
|
# Version 1.5.0beta0, 30 Jun 2002 |
715 |
|
|
#------------------------------------------------------------------------ |
716 |
|
|
|
717 |
|
|
* A full set of restore options is now supported, including direct |
718 |
|
|
restore via smbclient or tar or downloading a zip or tar file. |
719 |
|
|
|
720 |
|
|
* Major additions to CGI script to support better directory navigation, |
721 |
|
|
restore features and mod_perl. Also, file downloads from the CGI |
722 |
|
|
interface now correctly preserve the file name and provide the |
723 |
|
|
correct Content-Type for the most common types of files. Improved |
724 |
|
|
directory navigation was contributed by Ryan Kucera. |
725 |
|
|
|
726 |
|
|
* New script BackupPC_zipCreate (contributed by Guillaume Filion) is the |
727 |
|
|
zip analog of BackupPC_tarCreate. BackupPC_zipCreate can be used to |
728 |
|
|
create a zip archive of any portion of a backup. |
729 |
|
|
|
730 |
|
|
* Substantial additions to BackupPC_tarCreate to support restore, |
731 |
|
|
including modifying path names, handling hardlinks, fixing |
732 |
|
|
support of old backups without attributes (pre-v1.4.0). Plus |
733 |
|
|
BackupPC_tarCreate is now an offical part of the release. |
734 |
|
|
(Lack of support for hardlinks was reported by John Stanley.) |
735 |
|
|
|
736 |
|
|
* BackupPC_tarExtract now supports hardlinks and fixed pooling of |
737 |
|
|
attribute files. |
738 |
|
|
|
739 |
|
|
* A unix domain socket is now used for communication between the CGI |
740 |
|
|
interface and BackupPC. The original TCP socket is optional. Sockets |
741 |
|
|
are correctly re-initialized if config.pl is updated with new socket |
742 |
|
|
settings. |
743 |
|
|
|
744 |
|
|
* For improved security messages over the unix or TCP socket are protected |
745 |
|
|
via an MD5 digest based on a shared secret, a sequence number, a time |
746 |
|
|
stamp and a unique per-connection number. |
747 |
|
|
|
748 |
|
|
* Additions to configure.pl to support install of directory navigation |
749 |
|
|
images. |
750 |
|
|
|
751 |
|
|
* Fixed case where $Conf{BackupFilesOnly} or $Conf{BackupFilesExclude} |
752 |
|
|
were set to a single string or list (in v1.4.0 only the case of |
753 |
|
|
hash worked correctly). Reported by Phillip Bertolus. |
754 |
|
|
|
755 |
|
|
* Fixed case of $Conf{BackoutGoodCnt} == 0. This setting now makes the |
756 |
|
|
client always subject to blackout, matching the comments in config.pl. |
757 |
|
|
Also fixed handling of $Conf{BackoutGoodCnt} < 0 in the CGI script |
758 |
|
|
reported by Pascal Schelcher. |
759 |
|
|
|
760 |
|
|
* Fixed byte and file totals for tar backups, reported by several users. |
761 |
|
|
|
762 |
|
|
* Fixed --newer-mtime date/timestamp format to make it ISO 8601 compliant, |
763 |
|
|
suggested by Erminio Baranzini. |
764 |
|
|
|
765 |
|
|
* Fixed handling of $Conf{BackupFilesOnly} in BackupPC::Xfer::Tar.pm, as |
766 |
|
|
well as shell escaping of tar arguments. |
767 |
|
|
|
768 |
|
|
* Fixed entity encoding of 8-bit characters in the CGI interface. |
769 |
|
|
|
770 |
|
|
* Added optional CGI headers in $Conf{CgiHeaders} that by default |
771 |
|
|
is set to a no-cache pragma. Suggested by Benno Zuure. |
772 |
|
|
|
773 |
|
|
#------------------------------------------------------------------------ |
774 |
|
|
# Version 1.4.0, 16 Mar 2002 |
775 |
|
|
#------------------------------------------------------------------------ |
776 |
|
|
|
777 |
|
|
* BackupPC now supports tar (in addition to smb) for extracting host |
778 |
|
|
data. This is the most convenient option for linux/unix hosts. |
779 |
|
|
Tar can be configured to run over ssh, rsh or to backup a local |
780 |
|
|
nfs mount from the host. |
781 |
|
|
|
782 |
|
|
* Support for special files, including symbolic links, fifo, character |
783 |
|
|
and block device files has been added, so that all native linux/unix |
784 |
|
|
file types can be correctly backed up when using tar transport. |
785 |
|
|
Special files are all stored as regular files and the type attributes |
786 |
|
|
are used to remember the original file type. |
787 |
|
|
|
788 |
|
|
* All unix file attributes are now saved (and pooled when possible). |
789 |
|
|
This includes user and group ownership, permissions, and modification |
790 |
|
|
time. Smbclient also does a reasonable job of emulating unix |
791 |
|
|
permissions (such as mtime), and these attributes get saved too. |
792 |
|
|
|
793 |
|
|
* The new default is to not fill incremental dumps. configure.pl |
794 |
|
|
automatically sets $Conf{IncrFill} to 0. The default was 1 |
795 |
|
|
(incrementals were filled with hardlinks). Since the CGI |
796 |
|
|
script does filling at browsing time, there is no need to |
797 |
|
|
fill incremental dumps. |
798 |
|
|
|
799 |
|
|
* Backup file names are now stored in "mangled" form. Each node of a |
800 |
|
|
path is preceded by "f", and special characters (\n, \r, % and /) are |
801 |
|
|
URI-encoded as "%xx", where xx is the ascii character's hex value. So |
802 |
|
|
c:/craig/example.txt is now stored as fc/fcraig/fexample.txt. This |
803 |
|
|
was done mainly so meta-data could be stored alongside the backup |
804 |
|
|
files without name collisions. In particular, the attributes for the |
805 |
|
|
files in a directory are stored in a file called "attrib", and |
806 |
|
|
mangling avoids file name collisions (I discarded the idea of having |
807 |
|
|
a duplicate directory tree for every backup just to store the |
808 |
|
|
attributes). Other meta-data (eg: rsync checksums) could be stored in |
809 |
|
|
file names preceded by, eg, "c". There are two other benefits to |
810 |
|
|
mangling: the share name might contain "/" (eg: "/home/craig" for tar |
811 |
|
|
transport), and I wanted that represented as a single level in the |
812 |
|
|
storage tree. Secondly, as files are written to NewFileList for later |
813 |
|
|
processing by BackupPC_link, embedded newlines in the file's path |
814 |
|
|
will cause problems which are avoided by mangling. |
815 |
|
|
|
816 |
|
|
The CGI script undoes the mangling, so it is invisibe to the user. |
817 |
|
|
Of course, old (unmangled) backups are still supported by the CGI |
818 |
|
|
interface. |
819 |
|
|
|
820 |
|
|
* Various changes to the CGI interface, BackupPC_Admin: |
821 |
|
|
|
822 |
|
|
+ Added button that allows users to manually start a full dump in |
823 |
|
|
addition to the existing incremental dump. |
824 |
|
|
|
825 |
|
|
+ Added display of file attributes when browsing backups. |
826 |
|
|
|
827 |
|
|
+ Added an optional holdoff time specified by the user when canceling |
828 |
|
|
a backup. BackupPC will not attempt any new backups for at least the |
829 |
|
|
specified time. This holdoff time can be changed whether or not a |
830 |
|
|
backup is running. |
831 |
|
|
|
832 |
|
|
+ Added supports for file mangling, and correct merging of unfilled |
833 |
|
|
backups from mangled or unmangled (and compressed or uncompressed) |
834 |
|
|
fulls when browsing or restoring. |
835 |
|
|
|
836 |
|
|
+ Only displays a "Start Incr Backup" button if there are already some |
837 |
|
|
backups. |
838 |
|
|
|
839 |
|
|
+ For DHCP hosts, when a user tries to manually start a backup, add |
840 |
|
|
a check for the netbios name of both the host the request came |
841 |
|
|
from (REMOTE_ADDR) and the last known DHCP address for that host |
842 |
|
|
to see if either address matches the host. If not, an error |
843 |
|
|
message is display. The previous behavior was that only requests |
844 |
|
|
from the client itself succeeded, and requests from other machines |
845 |
|
|
quietly failed. |
846 |
|
|
|
847 |
|
|
* Changed the version numbering to X.Y.Z, instead of X.0Y. This release |
848 |
|
|
is 1.4.0. The first digit is for major new releases, the middle digit |
849 |
|
|
is for significant feature releases and improvements, and the last |
850 |
|
|
digit is for bug fixes. You should think of the old 1.00, 1.01, 1.02 |
851 |
|
|
and 1.03 as 1.0.0, ..., 1.3.0. |
852 |
|
|
|
853 |
|
|
* BackupPC and the CGI script BackupPC_Admin now check that the effective |
854 |
|
|
user id is correct to avoid accidentally launching BackupPC as the |
855 |
|
|
wrong user or detecting CGI configuration problems. This behavior |
856 |
|
|
can be turned off using the $Conf{BackupPCUserVerify} option. |
857 |
|
|
|
858 |
|
|
* In numerous places changed "Smb" to "Xfer" (eg: log file names) to |
859 |
|
|
support generic names for both smb and tar transport methods. The |
860 |
|
|
CGI script checks for old names for backward compatibility. |
861 |
|
|
|
862 |
|
|
* Major changed to Backup_dump to support new tar transport. All transport |
863 |
|
|
specific code moved into BackupPC::Xfer::Smb and BackupPC::Xfer::Tar |
864 |
|
|
objects. |
865 |
|
|
|
866 |
|
|
* Added workaround for a bug in Samba's smbclient for files between 2GB |
867 |
|
|
and 4GB. The file size in the tar header is incorrect. This allows |
868 |
|
|
files up to 4GB to work with smbclient, rather than 2GB. To support |
869 |
|
|
files larger than 2GB you must make sure perl is compiled with the |
870 |
|
|
uselargefiles option (use "perl -V | egrep largefiles" to check) and |
871 |
|
|
the pool directory must be on a file system that supports large files. |
872 |
|
|
|
873 |
|
|
* Moved the pool writing code into a module BackupPC::PoolWrite. This |
874 |
|
|
allows the clever file pool checking (digest, uncompressing, comparing |
875 |
|
|
etc with minimum disk IO) to be used easily in multiple places (eg: it |
876 |
|
|
is now used for writing attribute files so they can be pooled). |
877 |
|
|
|
878 |
|
|
* Changed MD5 to Digest::MD5 to avoid use of the depreceated MD5 module. |
879 |
|
|
|
880 |
|
|
* Shortened default $Conf{MyPath} so that perl's taint mode is more likely |
881 |
|
|
to be happy. The old $Conf{MyPath} contained /usr/local/bin, which |
882 |
|
|
on one user's machine was world writable and perl -T correctly |
883 |
|
|
complained about it. |
884 |
|
|
|
885 |
|
|
* Fixed ping command options in Lib.pm so that it works on OpenBSD. |
886 |
|
|
Thanks to Kyle Amon for sending the fix. Decided to move the |
887 |
|
|
ping options from Lib.pm into config.pl (as $Conf{PingArgs}) and |
888 |
|
|
now configure.pl tries to come up with a sensible default based on |
889 |
|
|
the OS. |
890 |
|
|
|
891 |
|
|
* Fixed argument checking in BackupPC_tarExtract to allow '$' in the |
892 |
|
|
share name (eg: C$). Thanks to Jules Agee for this fix. Also |
893 |
|
|
changed the default config.pl so that single quotes are used |
894 |
|
|
everywhere so that people don't get tripped up putting '$' inside |
895 |
|
|
double-quoted strings. |
896 |
|
|
|
897 |
|
|
#------------------------------------------------------------------------ |
898 |
|
|
# Version 1.03, 9 Dec 2001 |
899 |
|
|
#------------------------------------------------------------------------ |
900 |
|
|
|
901 |
|
|
* BackupPC now has full support for compression. There are now two |
902 |
|
|
pool areas, the original pool for uncompressed files, and cpool for |
903 |
|
|
compressed files. The compression is done by Compress::Zlib. |
904 |
|
|
Compression reduces the pool disk usage by around 40%, although your |
905 |
|
|
mileage may vary. Compression is optional and can also be specified on |
906 |
|
|
a per-PC basis (although this will cost more pool storage since many |
907 |
|
|
backup files will have to be stored in both compressed and |
908 |
|
|
uncompressed forms. |
909 |
|
|
|
910 |
|
|
* A new script, BackupPC_compressPool, can be run to compress the entire |
911 |
|
|
pool. This is used once to migrate all the pool data from uncompressed |
912 |
|
|
to compressed on existing installations. Read the documentation |
913 |
|
|
(Installing BackupPC/Compressing an existing pool) before running |
914 |
|
|
BackupPC_compressPool! |
915 |
|
|
|
916 |
|
|
Alternatively, compression can simply be turned on and all new backups |
917 |
|
|
will be compressed. Both old (uncompressed) and new (compressed) |
918 |
|
|
backups can be browsed and viewed. Eventually, the old backups will |
919 |
|
|
expire and all the pool data will be compressed. However, until the |
920 |
|
|
old backups expire, this approach could require 60% or more additional |
921 |
|
|
pool storage space to store both uncompressed and compressed versions |
922 |
|
|
of the backup files. |
923 |
|
|
|
924 |
|
|
* Significant improvements to the cgi interface, BackupPC_Admin: |
925 |
|
|
|
926 |
|
|
- much better layout navigation |
927 |
|
|
- handles compressed backup files and compressed log files |
928 |
|
|
- handles unfilled incremental dumps |
929 |
|
|
- better backup directory browsing navigation |
930 |
|
|
- reports compression statistics |
931 |
|
|
- $Conf{CgiDateFormatMMDD} allows you to set date format (MM/DD or DD/MM) |
932 |
|
|
- Additional customization with $Conf{CgiHeaderFontType}, |
933 |
|
|
$Conf{CgiHeaderFontSize}, $Conf{CgiNavBarBgColor}, and |
934 |
|
|
$Conf{CgiHeaderBgColor}. |
935 |
|
|
|
936 |
|
|
* Eliminated BackupPC_queueAll. BackupPC directly reads the hosts |
937 |
|
|
file and queues the PCs itself. Like config.pl, BackupPC will |
938 |
|
|
re-read the hosts file on each wakeup if its modification time |
939 |
|
|
changes, or upon a SIGHUP. This also makes for better behavior |
940 |
|
|
when adding a host: if you add hosts, simply send a SIGHUP to |
941 |
|
|
BackupPC or wait for the next wakeup. |
942 |
|
|
|
943 |
|
|
* BackupPC_dump now compresses the SmbLOG file if compression is enabled. |
944 |
|
|
|
945 |
|
|
* BackupPC_dump keeps track of compressed file sizes so that compression |
946 |
|
|
statistics can be reported by the cgi interface. |
947 |
|
|
|
948 |
|
|
* Aging of old log files now handles compressed log files (.z extension). |
949 |
|
|
|
950 |
|
|
* Added configuration option $Conf{IncrFill} to specify whether |
951 |
|
|
incremental dumps should be filled in. Old behavior was that |
952 |
|
|
filling was on. Now it's optional. See config.pl for more |
953 |
|
|
details. |
954 |
|
|
|
955 |
|
|
* BackupPC_nightly now cleans and generates statistics for both |
956 |
|
|
the uncompressed pool and compressed pool (cpool). |
957 |
|
|
|
958 |
|
|
* Added new utility script BackupPC_zcat that can be used to |
959 |
|
|
uncompresses BackupPC files. |
960 |
|
|
|
961 |
|
|
* configure.pl offers various options related to compression, |
962 |
|
|
depending upon whether this is a new install or upgrade, |
963 |
|
|
and whether or not Compress::Zlib is installed. |
964 |
|
|
|
965 |
|
|
* configure.pl now makes a backup copy of config.pl before |
966 |
|
|
config.pl is updated. |
967 |
|
|
|
968 |
|
|
* added three new fields to the backups file to handle optional |
969 |
|
|
filling and compression stats. |
970 |
|
|
|
971 |
|
|
* Added -e option to BackupPC_dump. BackupPC now invokes BackupPC_dump -e |
972 |
|
|
on each dhcp host once each night to verify that very old backups are |
973 |
|
|
expired. This ensures that very old backups are expired even if |
974 |
|
|
the dhcp host has not been on the network for a long time. |
975 |
|
|
|
976 |
|
|
* fixed bug in BackupPC::FileZIO.pm that required Compress::Zlib, |
977 |
|
|
even if compression was off. Thanks to Steve Holmes for reporting |
978 |
|
|
this. |
979 |
|
|
|
980 |
|
|
* fixed bug that caused a BackupPC queue to get blocked when a backup |
981 |
|
|
cancel attempt was made during the BackupPC_link phase. |
982 |
|
|
|
983 |
|
|
#------------------------------------------------------------------------ |
984 |
|
|
# Version 1.02, 28 Oct 2001. |
985 |
|
|
#------------------------------------------------------------------------ |
986 |
|
|
|
987 |
|
|
* Added new script BackupPC_tarExtract to extract the smbclient tar |
988 |
|
|
archive. This reduces disk writes by perhaps 90-95% and disk reads by |
989 |
|
|
50%. Previously, tar was used to extract and write everything to disk. |
990 |
|
|
Then BackupPC_dump would read enough of each file to compute the MD5 |
991 |
|
|
digest, and then compare the full file with candidate pool files. So |
992 |
|
|
for each 1MB file that matches a single file in the pool, there would |
993 |
|
|
be 1MB of disk writes and 2MB of disk reads (to compare two 1MB files). |
994 |
|
|
|
995 |
|
|
BackupPC_tarExtract instead extracts the archive using a 1MB memory |
996 |
|
|
buffer. This allows the MD5 digest to be computed without touching the |
997 |
|
|
disk. Next, any potential pool file compares are done by comparing the |
998 |
|
|
pool file against the incoming tar data in memory, which only requires |
999 |
|
|
the pool file to be read. So for each 1MB file that matches a single |
1000 |
|
|
file in the pool, there are now no disk writes, and only 1MB of reads. |
1001 |
|
|
BackupPC_tarExtract handles arbitrary size files and repeated |
1002 |
|
|
potential pool matches. If the incoming file doesn't match the pool |
1003 |
|
|
then it is written to disk (once the pool is mature this happens maybe |
1004 |
|
|
5-10% of the time). |
1005 |
|
|
|
1006 |
|
|
* Substantial changes to BackupPC_dump: |
1007 |
|
|
|
1008 |
|
|
+ BackupPC_tarExtract is now used in place of tar. |
1009 |
|
|
|
1010 |
|
|
+ BackupPC_dump now reads the output from both smbclient and |
1011 |
|
|
BackupPC_tarExtract and merges them into SmbLOG. |
1012 |
|
|
|
1013 |
|
|
+ Named pipes are no longer used to connect smbclient to tar |
1014 |
|
|
(now BackupPC_tarExtract). Regular pipes are used instead. |
1015 |
|
|
This avoids the need to system mknod or mkfifo. |
1016 |
|
|
|
1017 |
|
|
+ Locked files on the client that can't be read by smbclient |
1018 |
|
|
previously were filled with 0x0 bytes by smbclient, meaning |
1019 |
|
|
tar extracted a useless file filled with 0x0 bytes. Now, |
1020 |
|
|
BackupPC_dump watches the output of smbclient and removes |
1021 |
|
|
any files that smbclient couldn't read. This avoids storing |
1022 |
|
|
useless files. It tries to replace such files with a hard link |
1023 |
|
|
to a previous dump. These actions appear in the log file. |
1024 |
|
|
|
1025 |
|
|
* added new module lib/BackupPC/FileZIO.pm. This handles pool file |
1026 |
|
|
I/O and is used by BackupPC_tarExtract. BackupPC::FileIO supports |
1027 |
|
|
reading and writing compressed and regular files and provides all the |
1028 |
|
|
hooks for compression support in BackupPC (should be supported in next |
1029 |
|
|
version). BackupPC::FileIO also does efficient writing of files that |
1030 |
|
|
contain leading 0x0 bytes (by seeking past the 0x0 bytes). This is |
1031 |
|
|
helpful when smbclient reads a locked file, and it fills the tar |
1032 |
|
|
output with a file of the correct size but all 0x0. Such files will be |
1033 |
|
|
later removed by BackupPC_dump. But in the meantime, BackupPC::FileIO |
1034 |
|
|
writes such files efficiently (as sparse files), meaning just a few |
1035 |
|
|
blocks of disk space will be needed even if the file is large. |
1036 |
|
|
|
1037 |
|
|
* alive/dead counting for blackout now works correctly for DHCP hosts. |
1038 |
|
|
|
1039 |
|
|
* BackupPC resets activeJob on startup, to fix bug when BackupPC was |
1040 |
|
|
killed and restarted with backups running. |
1041 |
|
|
|
1042 |
|
|
* added extra non blocking select() in BackupPC to make sure the socket |
1043 |
|
|
reads don't block. |
1044 |
|
|
|
1045 |
|
|
* BackupPC avoids queuing multiple BackupPC_queueAll's on the CmdQueue. |
1046 |
|
|
|
1047 |
|
|
* Updated BackupPC_sendEmail to correctly parse the locked file |
1048 |
|
|
error from 2.2.1a smbclient, so that missing Outlook file emails |
1049 |
|
|
can be correctly sent. |
1050 |
|
|
|
1051 |
|
|
* Changed HostInfoRead() in lib/BackupPC/Lib.pm to lowercase the |
1052 |
|
|
hostname read from the hosts file. |
1053 |
|
|
|
1054 |
|
|
* BackupPC_Admin provides general summary when the host name is empty. |
1055 |
|
|
|
1056 |
|
|
* configure.pl (and BackupPC) now requires perl 5.6.0 or later. |
1057 |
|
|
|
1058 |
|
|
* configure.pl complains if BackupPC is already running, reminding you |
1059 |
|
|
to stop it before upgrading. |
1060 |
|
|
|
1061 |
|
|
* updated documentation, and fixed auto-insertion of config.pl into |
1062 |
|
|
BackupPC.pod (previously the last config parameter was left out of |
1063 |
|
|
BackupPC.pod). |
1064 |
|
|
|
1065 |
|
|
#------------------------------------------------------------------------ |
1066 |
|
|
# Version 1.01, 30 Sep 2001 |
1067 |
|
|
#------------------------------------------------------------------------ |
1068 |
|
|
|
1069 |
|
|
* Documentation cleanup in README, doc/BackupPC.pod, conf/config.pl. |
1070 |
|
|
|
1071 |
|
|
* BackupPC_sendMail now reads the optional per-PC config file, allowing |
1072 |
|
|
email configuration parameters to be set on a per-PC basis. |
1073 |
|
|
|
1074 |
|
|
* Removed the unused 4096-length MD5 digest code in lib/BackupPC/Lib.pm. |
1075 |
|
|
|
1076 |
|
|
#------------------------------------------------------------------------ |
1077 |
|
|
# Version 1.00, 21 Sep 2001 |
1078 |
|
|
#------------------------------------------------------------------------ |
1079 |
|
|
|
1080 |
|
|
* Initial release of BackupPC on sourceforge.net. |