ThisIsNotBackupBuddy is a set of scripts which make versioned, disk-to-disk, backups via rsync easy. ThisIsNotBackupBuddy 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 "ThisIsNotBackupBuddy":
· 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.