| Q. Why? A. Please go to the WHY page. Q. What operating systems do I need to be running? The burp server (where the backups are stored) needs to run on a Linux-style operating system. Personally, I use Debian. The burp client (from which backups are taken) can run on Linux or Windows. Q. What are the main features? What works? A. At the time of writing, the following features work: Server mode runs on Unix-based systems. Client mode runs on Windows and Unix-based systems. Windows Volume Shadow Copy Service (VSS) support (Windows XP R2 and newer). Windows 32bit and 64bit support. Delta differencing with librsync. Network backups. Network rate limiting. Backs up and restores files, directories, symlinks, hardlinks, fifos, nodes, permissions and timestamps. Backs up and restores Linux and FreeBSD acls and xattrs. Backs up and restores Windows permissions, file attributes, and so on, via VSS. Backs up and restores Windows EFS files. Storage and network compression using zlib. Ability to continue interrupted backups. Client/server communications encryption with SSL. Automatic SSL certificate authority and client certificate signing. Client side file encryption - (note: this turns off delta differencing). Scheduling. Email backup success/failure notifications. A single daily backup summary email. A live ncurses monitor on the server. Fifo read/write support. Pre/post backup/restore client scripts. Multiple retention periods (e.g, keep 1 backup per day for 7 days, 1 backup per week for 4 weeks, 1 backup per 4 weeks for a year). Storage data deduplication. Automatic client upgrade. Q. What is on the roadmap? What doesn't work? A. For the list of things to do, please see https://github.com/grke/burp/issues. Q. What are the main dependencies? A. They are: librsync openssl zlib (>=1.2.5 is recommended) Q. Do I need to install cygwin on Windows? A. No. Q. How do I build the Windows client? A. This is slightly complicated. You might want to go to the DOWNLOAD page and get a prebuilt binary. If you really want to build it yourself, follow the instructions in the README file in the src/win32 directory of the burp source. Q. How do I build a static Linux binary? A. Use the --enable-static and --disable-libtool configure script options. Q. What licence does Burp use? A. It is open source free software (where 'free' means both that you do not have to pay for it, and that you have freedom to do what you want with it) released under the AGPLv3 licence. Refer to the Burp LICENCE file for more details. Q. How can I do a "bare metal" restore? A. There are instructions for Windows 7 and 8. If anybody wants to contribute instructions for any other operating system, please feel free. Q. I get errors like "/0000/0000/1ACA.gz: File too large" in my log. A. This is burp trying to open a backed up file on the burp server. Older versions of zlib can have problems opening large files. Try upgrading zlib to at least version 1.2.5. Q. Are you going to do data deduplication on the server side? A. Yes, new in version 1.2.4. Note, that there are file systems (like btrfs, zfs and btrfs) coming along that will do data deduplication automatically, and probably better than burp. Q. What is the best file system to use on the server? A. So far, I have done all my testing on ext3, and it works for me. The main concern is not to run out of file system inodes. You can configure the number of inodes when you create the ext3 file system, but you cannot change the number later without reformatting. One of my test clients has over a million files. Because I had used the ext3 optimisation option for large files on the storage device (having previously been using it for bacula), I initially ran out of inodes. Reformatting the file system to have more inodes has solved the problem. To see how many inodes I have, I use the command 'df -i' Here is a helpful 10-year old mailing list post about ext3 inodes: http://markmail.org/message/ergkrg6thswonkgo (ignore the recommendation for reiserfs - I believe that ext3 has moved on more than reiserfs over the last 10 years!) Q. I specified LDFLAGS="-L /opt/somepath" to build burp, but when I run it, it uses the system libraries instead of the libraries I installed in /opt/somepath! A. Try this: LDFLAGS="-L /opt/somepath -R /opt/somepath" Q. On Windows, the client exits with a message like: "Could not open 'C:/Documents and Settings/Administrator/NTUSER.DAT': The file is in use by another process." Why? A. On newer versions of Windows, things called 'junction points' have been added. In the example given, 'include = C:/Documents and Settings' was set in the client burp.conf, but 'C:/Documents and Settings' is a junction point and the real path is 'C:/Users'. Pointing burp at the junction point means that it goes outside of the VSS snapshot, and hence cannot open files that other processes have open. Use the real path instead. Q. My backup fails with the message 'error in async_rw'. Why? A. This normally means that the other side of the connection went away. For example, it happens to me when I close my laptop lid, or when my laptop goes into hibernate mode, or when I pull the network cable out. Otherwise, if you are seeing this message on the server, it is worth running the backup by hand from a console on the client (if you are not already doing so), as it may give you more information to work with. Q. How can I automatically upgrade burp clients? A. There are instructions here. Q. How does the automatic certificate authority and client certificate signing work? A. There is documentation here. Q. Can you use librsync to do rsync feature X? A. No, rsync has nothing to do with librsync other than them both using the same algorithm. Put another way, rsync does not use librsync. Q. What is the purpose of the shuffle operation at the end of the backup? A. Once all the files and bits of files have been transferred to the server, it needs to assemble them into the final backup. By default, this includes hardlinking files that haven't changed since the immediately previous backup into place, patching the ones that have changed with the new deltas, generating reverse deltas to be able to recreate the previous files that change, and deleting the files that changed from the previous backup. Q. Is there a way to speed up this process? A. Yes, you can stop it from generating the reverse deltas and deleting the original files by setting hardlinked_archive=1, which means that a complete copy of every version of each file will be kept. This also has the benefit of speeding up restores for older backups, because no reverse deltas need to be applied, but it has the disadvantage of taking up more disk space. You can also set librsync=0, which turns off librsync so that, if a file has changed, the whole file is transferred from the client. This means that deltas don't have to be applied to the previously backed up files. So, if the speed of your network beats the speed of being able to apply deltas, you might want to set librsync=0. You can set both those options globally in the server burp.conf, or for individual clients in the server clientconfdir files. Q. I have more questions about shuffling, librsync=[0|1] and hardlinked_archive=[0|1]. A. Perhaps the man page, or this file can help you. Q. My Windows client is crashing, help! A. In order to debug it, please follow the instructions here. Q. What command line options are available to the Windows installer?
/S | Silent install
/server=[address] | Set the address of the burp server
/port=[port] | Set the port of the burp server
/cname=[name] | Set the client name
/password=[password] | Set the client password
/autoupgrade=[0|1] | Set whether autoupgrades are allowed
/server_can_restore=[0|1] | Set whether the server can initiate restores or not.
/encryption_password=[password] | Set an encryption password.
/poll=[minutes] | Set the poll interval
/overwrite | Allow existing client configuration to be overwritten
/skippages | Skip installer configuration pages but keep the initial splash screen and final confirmation
/minutetext=[text] | When setting up the Windows scheduler, the Windows 'schtasks' command stupidly needs different text given to it depending on the language of the system. The default is 'MINUTE'. If your Windows is for example, Polish, this option lets you set it to the Polish version of 'MINUTE'.
/encryption_password=[password] | Set the encryption password.
Q. What should I do if I don't trust my burp server administrator? Q. What should I do if I don't trust my burp users? A. There are some notes on security models here.