Backup Buddy 0.85 review

by on

Backup Buddy is a set of scripts which make versioned, disk-to-disk, backups via rsync easy

License: GPL (GNU General Public License)
File size: 9K
Developer: Benjamin Smith
0 stars award from

Backup Buddy is a set of scripts which make versioned, disk-to-disk, backups via rsync easy. Backup Buddy will allow you to set up disk-to-disk backups that happen automatically.

I hate tapes. They're messy, time-wasting, and nowadays, surprisingly expensive. Don't forget unreliable and inconvenient.

In my experience, if somebody has to be made to swap tapes routinely, then backups generally just aren't done routinely.

I've been using rsync for some time to mirror my primary webserver to a backup server on an independent network, to cover things in a worst-case scenario.

After trying a few other options, and not finding anything truly "good enough" for real backups, I wrote Backup Buddy.

Here are some key features of "Backup Buddy":
Uses rsyc's hard link option to provide incremental backups on spinning media. No special software should need to be installed on any recent *nix distro.
Notifies administrator by email when errors have been detected.
Fault tolerant - if it "goes offline" and backups aren't performed for a while, it should "start working" gracefully and automatically.
No special setup beyond defining a config file should be required to get a new account running.
Fault aware - if something goes wrong, it should alert an admin. (by email)
Good logging - a quick preview of the log file(s) should tell everything that's going on.
Easy to configure - Somebody new to its use should be able to set it up in < 10 minutes once deps are met.
Disk Space Handling: You can define a threshold of max image size space to keep free.
Web page for quick and easy access to reports on backup statistics. (Coming soon)

PHP 4.x
rsync 2.5.7 or later, with RSA/KSA keys auto login to foreign host.


1) cp bbbackup-perform.php /usr/local/bin

2) cp etc_bbuddy.conf /etc/bbuddy.conf

3) Edit /etc/bbuddy.conf
A) define the vault. This is where your backups will go.
B) define the accounts. Make a directory in vault with the same
name as the accounts. Read/set the other options as you see fit.

4) In each account directory, cp account_bbuddy.conf bbuddy.conf

5) Edit bbuddy.conf in each account directory. Define values as you see fit.

6a) You can run "bbbackup-perform.php -all" to get all accounts you defined above.

6b) if you want to run an individual account, run "bbbackup-perform.php account",
where account is the name of the account you wish to back up singly.

6c) You can perform backups to a specific group of accounts. EG:
"bbbackup-perform.php groupservers " where "groupservers" is what you identified
in /etc/bbuddy.conf.

You can run multiple instances of bbbackup-perform so long as the same account
or groupname isn't called twice. Make sure you don't run an account and a group
containing that account at the same time - this can cause thrashing and can
make BackupBuddy to "get stuck". If you wish to run different instances at
the same time, NEVER USE -all (which is now deprecated)

7) Run via crontab to make automatic.

What's New in This Release:
If disk space is running low, the scripts now display an error instead of deleting the last remaining branch of an account.
This prevents you from having to resync an entire file tree in the event of disk space shortages.

Backup Buddy 0.85 search tags