source: box/boxbackup-web/index.html @ 2998

Revision 2998, 19.8 KB checked in by jamesog, 9 months ago (diff)

Fix typo.

Line 
1<?xml version="1.0" encoding="iso-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
6<title>Box Backup</title>
7<link rel="stylesheet" href="bbstyles.css" type="text/css" />
8</head>
9<body>
10<div align="center">
11<div id="header">
12<div id="logo">
13<img src="images/bblogo.png" alt="logo" height="65" width="331" border="0" vspace="5" align="middle" /> <img src="images/stepahead.png" alt="a step ahead in data security" width="182" height="11" hspace="10" vspace="20" border="0" align="middle" /></div>
14</div>
15<div id="page">
16
17<h1>Box Backup</h1>
18
19<p>An open source, completely automatic on-line backup system for UNIX.
20<ul>
21<li>All backed up data is stored on the server in files on a filesystem -- no tape or archive devices are used
22<li>The server is trusted only to make files available when they are required -- all data is encrypted
23<li>A backup daemon runs on systems to be backed up, and copies encrypted data to the server when it notices changes
24<li>Only changes within files are sent to the server, just like rsync
25<li>Old versions of files on the server are stored as changes from the current version
26<li>Behaves like tape -- old versions and deleted files are available
27<li>Choice of backup behaviour, optimised for document or server backup
28<li>Designed to be easy and cheap to run a server. Portable implementation, and RAID implemented in
29userland for reliability without complex server setup or expensive hardware. (optional)
30</ul>
31</p>
32
33<p>Project status: <b>Stable</b>, but not feature complete</p>
34
35<p><a href="description.html">More information</a>: what it is, and how it works.</p>
36
37<p><a href="comparison.html">Comparisons to other backup systems</a></p>
38
39<p>Distributed under a BSD license. Please read the <a href="license.html">license and commentary</a> now.</p>
40
41<h2>Development team</h2>
42
43<p>Main developers for 0.11: Martin Ebourne, Charles Lecklider,
44        Gary Niemcewicz, James O'Gorman, Ben Summers, Chris Wilson</p>
45
46<p>Main developers for 0.10: Martin Ebourne, Nick Knight, Jonathan Morton,
47        Gary Niemcewicz, Ben Summers, Chris Wilson</p>
48
49<p>Pre-0.10: Ben Summers, <a href="mailto:ben@fluffy.co.uk">ben@fluffy.co.uk</a></p>
50
51
52<h2>Project status</h2>
53
54<p>This project should be considered as <b>stable, but not feature
55complete</b>. Over 3 years of testing suggests it will be reliable enough
56to will back up your data, and make it available for restoration.</p>
57
58<p>It has always been possible to <a href="retrieve.html">retrieve old
59versions</a> of files. Planned features will implement marked versions
60of the store to emulute backing up onto sets of tapes in a controlled
61manner. This will make restoration of old versions much easier, although
62in the case of retrieving a single old file will not make much difference
63to the usability as the FTP-like utility is already effective.</p>
64
65<p>Given that this is a backup system, we are being very conservative about
66when we consider it ready for production use. That said, we trust our
67data to it!  However, as this is quite a young system compared to some
68of the alternatives, and operates in a slightly different manner, for
69production use I must recommend that you regularly
70<a href="restore.html">verify your backups</a>.</p>
71
72<p>The documentation is not yet complete, and the error messages you get when things
73go wrong are not as clear as they should be. (see the <a href="trouble.html">troubleshooting</a> page.)
74Please <b>follow the instructions</b> carefully and read everything to avoid problems -- following the
75instructions on this web site will result in a working installation.</p>
76
77
78<h2>Why online backup?</h2>
79
80<p>Because tape is not a reliable solution, unless you...</p>
81<ul>
82<li>spend lots of money on hardware and tapes (cheap hardware is not reliable)
83<li>change the tape daily
84<li>store the tapes off-site
85</ul>
86<p>which is hardly likely to happen in real life.</p>
87
88<p>Backing up to media such as CDROMs is not really a solution either. It needs to be something which
89just happens without user intervention, and without media which is liable to be corrupted.</p>
90
91<p>So, for the same price as a decent tape backup system, you could buy a server with three big hard discs.
92And for the money you spend on tapes per year (you do replace them regularly, don't you?), you could host
93it in a nice data centre somewhere.</p>
94
95<p>We all have internet connections these days, so connectivity isn't really a problem.
96Although it might be best to archive those
97static files, like MP3s and images, to CDROM or something.</p>
98
99<p>The costs are even less if you pool resources amongst a group of friends. Remember, you don't have
100to trust the server admin to not look at your files as they're encrypted. You just have to trust them to
101make the files available when you need them.</p>
102
103<h2>Mailing list</h2>
104
105<p>Please join the project mailing list, boxbackup@boxbackup.org, for announcements of new versions
106and discussion of the system. Join at the <a href="http://lists.boxbackup.org/cgi-bin/mailman/listinfo/boxbackup">sign up page</a>.</p>
107
108<!--p>Many thanks to <a href="http://www.warhead.org.uk">Alaric</a> for hosting this list.</p-->
109
110<h2>Implementation</h2>
111
112<p>There are three main elements</p>
113
114<ul>
115<li>bbstored -- backup store server.
116<li>bbackupd -- backup client daemon, which scans for changes and uploads them to the server.
117<li>bbackupquery -- backup query and restore tool.
118</ul>
119
120<p>Running the store server is a multi-step process, but the backup client is easy.</p>
121
122<p>TLS (SSL revised) is used to encrypt connections, and more importantly, to authenticate servers
123and clients with both server and client side certificates. Scripts are provided to generate and
124manage these certificates.</p>
125
126<p>Stored files are encrypted using AES for file data and Blowfish for
127metadata. This does mean that the one thing you do need to back up
128off-site and look after is a 1k file containing your keys -- the data
129on the server is useless without it. But it never changes, so that's OK.</p>
130
131<h2>Platforms</h2>
132
133<p>We develop and deploy on Linux, Darwin, Windows and OpenBSD. The software
134is designed to take advantage of BSD features where useful, but not to rely
135on them. It should be easily portable to other UNIX like operating
136systems. Ports are available for the following platforms:</p>
137
138<ul>
139<li><b>OpenBSD</b> (primary platform)
140<li><b>Linux</b> (primary platform)
141<li><b>Native Windows</b> (important platform, client only)
142<li><b>NetBSD</b> (minor issues with dates on symlinks)
143<li><b>FreeBSD</b>
144<li><b>Darwin</b> / Mac OS X 10.5
145<li><b>Solaris</b>
146</ul>
147
148<p>On these platforms, the software compiles and the tests pass. Ben
149does all his deployment on OpenBSD, Chris on Linux and Windows, but we
150know of several people who have had good results under other OSes.</p>
151
152<p>More platforms will arrive over time. It takes in general a couple of
153hours to get it compiling on a BSD-like UNIX or Linux, and a bit longer on
154something like Solaris.</p>
155
156<p>We welcome patches for other platforms, and volunteers to look after
157ports for a particular platform. Programmers notes describing how
158everything works are included in the <tt>notes</tt> directory within
159the distribution archive.</p>
160
161<h2>Related projects</h2>
162
163<p>There are a number of separate projects which are related to Box Backup. These include:</p>
164
165<p><b><a href="http://boxi.sourceforge.net/">Boxi</a></b> -- a cross platform native GUI front end
166for Box Backup, by Chris Wilson.</p>
167
168<p><b><a href="http://www.joonis.de/boxbackup-explorer">Box Backup Explorer</a></b> --
169graphical web frontend for Box Backup, by Thimo Kraemer.</p>
170
171<h2>Download</h2>
172
173<p>The latest stable release is 0.11.1.</p>
174
175<p>See <a href="/trac/wiki/Installation">our Wiki</a> for the latest
176compilation and installation instructions.</p>
177
178<ul>
179        <li><b>Stable Release: 0.11.1</b><br />
180        <tt><a href="http://prdownloads.sourceforge.net/boxbackup/boxbackup-0.11.1.tgz?download">boxbackup-0.11.1.tgz</a></tt><br />
181        (1.8 MB, MD5 c4c4786a918a9c026f80833614c40a6b, released 2 August 2011,
182        download via SourceForge)</li>
183</ul>
184
185<h3>Code Signatures</h3>
186
187<p>New releases are signed by Chris Wilson (key ID 31197862).
188<a href="http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x31197862">Download
189the key</a> or fetch with:</p>
190
191<pre>
192gpg --recv-keys --keyserver pgp.mit.edu 31197862
193</pre>
194
195<h3>Upgrading</h3>
196
197<ul>
198<li><a href="/trac/wiki/011">From 0.10 to 0.11</a></li>
199<li><a href="006-007.html">From 0.06 to 0.07</a></li>
200<li><a href="005-006.html">From 0.05 to 0.06</a></li>
201<li><a href="004-005.html">From 0.04 to 0.05</a></li>
202</ul>
203
204<p><b>A 0.10 or later server requires all clients to be version 0.10 or
205later too.</b> Existing backup store accounts are compatible with 0.10,
206and do not require conversion.</p>
207
208<h3>Changes</h3>
209
210<dl>
211<dt>0.11rc4 (14 September 2009)</dt>
212<dd>
213
214        For a full change log since 0.10, see
215        <a href="https://www.boxbackup.org/trac/wiki/011">the Wiki</a>.<br />
216
217        Changes in 0.11rc4 can be found by searching for <code>0.11rc4</code>
218        on that page, or by checking the
219        <a href="https://www.boxbackup.org/trac/wiki/011?action=diff&version=31&old_version=27">diffs</a>.
220
221</dd>
222
223<dl>
224<dt>0.11rc2 (29 January 2008)</dt>
225<dd>
226        Fix build and tests on Solaris. Silence const char warnings.<br />
227
228        Fix raidfile tests on FreeBSD 7, thanks to James O'Gorman and
229        Mikael Syska.<br />
230
231        Don't warn about mounted directories which are explicitly
232        excluded, reported by Matt Brown.<br />
233
234        Added Solaris SMF framework scripts by Ben Summers.<br />
235
236        Fully support configuring with a prefix, sysconfdir and
237        localstatedir, building them into all the relevant files,
238        to help packagers and porters.<br />
239
240        Fix harmless error message in install scripts, reported by
241        Guno Heitman.<br />
242
243        Fix support for debian buildds, thanks to Reinhard Tartler
244        for providing access to them.<br />
245
246        Reformatted usage messages from bbackupd-config, bbstored-config
247        and raidfile-config scripts for readability.<br />
248
249        Update version and contact email address in configure.ac.<br />
250       
251        Update copyright year to 2008.
252</dd>
253<dt>0.11rc1 (12 January 2008)</dt>
254<dd>
255        Fixed some bugs with backing up, restoring and comparing
256        files over 2GB in compressed size.<br />
257
258        Added new logging infrastructure, allows more control over
259        whether messages are sent to the console or system logs,
260        and at what level of detail.<br />
261
262        Changed keepalive and diff timers to run in real time,
263        not CPU time.<br />
264
265        Enable KeepAlive time by default on new installations,
266        set to 120 seconds.<br />
267
268        Added bbackupctl commands for improved scripting of syncs.
269        <br />
270
271        Fixed a bug with restoring symlinks to directories
272        outside of the backed-up location (thanks to Hans-Joachim
273        Baader)<br />
274
275        Ported unit tests for Windows.<br />
276
277        Added full unit tests for keep-alives and diff timer on
278        most platforms.<br />
279
280        Fixed a <a href="/trac/wiki/WindowsClientReleases">number of
281        bugs</a> in the Windows port.<br />
282
283        Added option to send Extended Logs to a file instead
284        of to system logs.<br />
285
286        Added option to log <b>all</b> file access, for debugging
287        when a file is not backed up or causes the backup to fail
288        mysteriously.<br />
289
290        Improved error messages to identify the causes of some
291        errors which were difficult to track down before.<br />
292
293        Added bbackupd option to set the length of time before
294        unused locations are deleted.<br />
295
296        Changed default location of bbackupd.conf on Windows
297        to the same directory as bbackupd.exe.<br />
298
299        Fixed a bug where bbstoreaccounts could modify an
300        account while it was locked by a running backup.<br />
301
302        Improved command-line option handling.<br />
303
304        Added command-line help (-h option) to bbackupd and
305        bbstored.<br />
306
307        Add a new -F option for daemons, which runs in the
308        foreground but still accepts multiple connections,
309        which is what SINGLEPROCESS used to do.<br />
310
311        Fixed compare of timestamps on filesystems which cannot
312        set them more accurately than 1 second.<br />
313
314        Added new backup-start and backup-finish events to the
315        NotifyScript, which can be used to implement more advanced
316        functionality such as snapshotting databases.<br />
317
318        Added a new sample NotifySysAdmin script for Windows,
319        written by James O'Gorman in VBscript.<br />
320
321        Added support for multiple Box Backup (bbackupd) services
322        on Windows, with different service names and named pipe names,
323        to implement redundancy.<br />
324
325        Fixed bbackupd mysteriously failing to back up if one
326        of the location paths did not exist.<br />
327
328        Fixed entering of international characters into
329        bbackupquery on Windows
330        (<a href="/trac/wiki/CharacterEncoding">instructions</a>)
331        and Unixes with editline.<br />
332
333        Improve Makefiles by reducing verbosity during build,
334        so that any errors and warnings can be seen more easily.<br />
335
336        Added saving of the list of unused root directory entries
337        to the StoreObjectInfoFile, so that they will persist across
338        restarts of bbackup (thanks to Gary Niemcewicz).<br />
339
340        Updated built-in documentation
341        (<a href="/man-html/">program manuals</a>,
342        <a href="/instguide/">installation guide</a> and
343        <a href="/adminguide/">administrator's guide</a>).<br />
344
345        Improved build targets (thanks to James O'Gorman).<br />
346</dd>
347<dt>0.10 (23 February 2006)</dt>
348<dd>Optimised diffing algorithm -- massive speed improvements<br>
349Improved diff timeout<br>
350Bug fixes<br>
351Solaris support<br>
352Portability improvements, including new autoconf based build<br>
353xattr support (on Linux and Darwin -- backs up resource forks under Mac OS X)<br>
354Readline usage clarified for licensing.<br>
355<i>Experimental</i>: Keep-alive on long diffing operations<br>
356<i>Experimental</i>: Save state for non-server use, speeds up first sync after bbackupd starts (not enabled by default)<br>
357<i>Experimental</i>: Native win32 port integrated into main source tree, fixes and improved build<br>
358<i>Experimental</i>: Support for MinGW and MSVC under Win32<br>
359<b>NOTE</b> Features are marked as experimental if no automated test exists. However, the developers have
360been running them on live systems. Win32 support is not totally complete.
361
362<dt>0.09 (06 December 2004)
363<dd>Maintenance release<br>
364Bug fixes and reliability changes<br>
365Add support for large files under Linux<br>
366Compile on new platforms<br>
367Solaris and Win32 ports for testing
368
369<dt>0.08 (23 September 2004)
370<dd>Minor bug fixes<br>
371Server stores old versions of files as patches from the current version<br>
372Adjust behaviour of client<br>
373Works under 64bit systems<br>
374Client recovers cleanly from corruption of its working files<br>
375Improvements to build system<br>
376Add contributed code for building RPMs
377
378<dt>0.07 (28 June 2004)
379<dd>Minor bug fixes<br>
380Improvements to build process, including better detection of environment on Linux, especially SuSE 9.x<br>
381Fix wrong space used sizes on store with non-RAID (<a href="006-007.html">see notes</a>)<br>
382Be more paranoid about crypto startup<br>
383Extra checking for file modifications<br>
384SyncAllowScript to allow temporary disabling of syncs, eg only backup from a laptop on certain network connections<br>
385Add force-sync command to bbackupctl, like sync but ignores AllowSyncScript
386
387<dt>0.06 (21 May 2004)
388<dd>Bug fixes<br>
389Use AES for file data<br>
390Cygwin port of client<br>
391Add usage command to bbackupquery<br>
392Add delete [yes] command to bbstoreaccounts<br>
393Add check [fix] [quiet] command to bbstoreaccounts<br>
394Deleted locations in conf file get deleted from server
395
396<dt>0.05 (10 Apr 2004)
397<dd>Bug fixes<br>
398Added configurable "max diffing time" parameter, improved speed of diffing algorithm in edge cases<br>
399Added support for old versions of OpenSSL -- experimental only (but appears to work fine)<br>
400Read errors on files and directories are reported neatly, and no longer abort the backup scan<br>
401NetBSD port fixed<br>
402Server more tolerant of being unexpectedly aborted
403
404<dt>0.04 (16 Mar 2004)
405<dd>Bug fixes and code clean up<br>
406Change to standard BSD license<br>
407Expanded error messages<br>
408Improved flexibility with backup timing, including the ability to do snapshot backups<br>
409Exclude files explictly or with regular expressions<br>
410More work arounds for memory issues with STL in gcc 2.95.x (the gcc 3 version is fine)<br>
411In bbackupquery, add a 'ls' alias, and include 'help' command to document all commands<br>
412The *-config programs are improved and validates options and the configuration more to catch common problems<br>
413bbackupd-config excludes keys file if it might be backed up<br>
414Add bbackupctl program for controlling bbackupd daemon<br>
415bbstoreaccounts takes sizes in blocks, Mb or Gb with unit suffix<br>
416Start and end of last sync recorded in bbackupd working dir<br>
417bbackupquery compares check last modification time to see if this explains any difference<br>
418bbackupd will run a script run to alert administator that store is full (the default script sends an email)
419
420<dt>0.03 (27 Jan 2004)
421<dd>Improvements to the build system, especially configuring for random Linux systems.<br>
422Worked round an issue with the gcc 2.95.x libraries which meant that the backup daemon
423slowly used more and more memory.<br>
424Efficiency improvements.
425
426<dt>0.02 (22 Jan 2004)
427<dd>First public release
428</dl>
429
430<h2>Documentation</h2>
431
432<div style="border:2px solid gray; padding:4px">
433The <a href="/trac/wiki">Box Backup wiki</a> contains user contributed
434documentation, based on the documents below. Please use it for up to date information about
435Box Backup.
436</div>
437
438<p>This is basic documentation, which will be improved. Note that configuration uses a number
439of scripts to do the hard work -- these all output a lot of detailed instructions on exactly
440what to do. Please read it.</p>
441<ul>
442<li><a href="license.html">License and commentary</a> -- please read
443<li><a href="install.html">Compilation and installation</a>
444<li><a href="client.html">Configuring a client</a>
445<li><a href="server.html">Configuring a server</a>
446<li><a href="accounts.html">Certificates and accounts management</a>
447<li><a href="restore.html">Verify and restore backups</a>
448<li><a href="retrieve.html">Retrieving deleted and old files</a>
449<li><a href="bbackupctl.html">Controlling a backup client</a>
450<li><a href="space.html">Checking the storage space used on the server</a>
451<li><a href="serverfix.html">Fixing problems with corruption on the server</a>
452<li><a href="nonroot.html">Running without root</a>
453<li><b><a href="trouble.html">Troubleshooting</a></b>
454</ul>
455
456
457<p>Programmers notes on how the system works can be found within the notes directory inside the
458distribution archive. In particular, read <tt>notes/backup_encryption.txt</tt> for details of how
459the encryption scheme works, and where to look in the code to verify it.</p>
460
461<h2>Planned future work</h2>
462
463<ul>
464<li>Mark state (marks the current state of the filesystem, to emulate a tape change and restoring from that tape later)
465<li>Bandwidth throttling with timed limits
466<li>Make a OpenBSD "port" for easy installation, when the system is stable enough for general use
467</ul>
468
469<h2>Thanks</h2>
470
471<p>In addition to the developer credits for each release, we would like to
472thank:</p>
473
474<ul>
475<li>Stuart Hickinbottom, "Mark", Nestor Arocha Rodriguez, Chris Smith and
476        James Stark for code contributions.</li>
477<li>Reinhard Tartler for maintaining Debian packages and providing us with
478        access to the Debian automated build system.</li>
479<li>Pierre-Henri Lavigne for maintaining fink packages.</li>
480<li>Eric Cronin for maintaining the Macports port.</li>
481<li>James O'Gorman for hosting our website and bug tracker, and maintaining
482        the FreeBSD port.</li>
483<li>Per Thomsen for writing the Docbook documentation.</li>
484<li>Many users on the mailing lists for finding and reporting problems
485        and helping to test fixes, in particular Tobias Balle-Petersen,
486        Dave Bamford, Torsten Boob, Matt Brown, Pete Jalajas, Mikael Syska
487        (alphabetical order)</li>
488</ul>
489
490<p>Content &copy; Ben Summers and Chris Wilson, 2003-2011</p>
491<p>Web design by <a href="http://www.wpdfd.com">Joe Gillespie</a></p>
492</div>
493</div>
494</body>
495</html>
Note: See TracBrowser for help on using the repository browser.