Benoît S.
cddbd002f9
Fix a bug in the way of killing evobackup. The process is launched by "run-parts /etc/cron.daily". When you kill the process, run-parts is not informed and the process go in Z state (and rsync continue to work!). When another run-parts is launched the part wich kill a process if already launched fail. This fix this particular bug. |
||
---|---|---|
chroot-etc | ||
crons | ||
install/etc | ||
AUTHORS | ||
chroot-bincopy.sh | ||
chroot-new.sh | ||
chroot-update.sh | ||
INSTALL.md | ||
install.sh | ||
LICENSE | ||
README.md |
EvoBackup
EvoBackup is a bunch of shell scripts to create a backup server which will handle the backup of many servers (clients). Licence is GPLv2.
The main principle uses SSH chroot (called "jails" in the FreeBSD world) for each client to backup. Each client will upload his data every day using rsync in his chroot (using root account). Incrementals are stored outside of the chroot using hard links. (So incrementals are not available for clients). Using this method we can keep tens of backup of each client securely and not using too much space.
Backup server
************
Server 1 ------ SSH/rsync -------> * tcp/2222 *
* *
Server 2 ------ SSH/rsync -------> * tcp/2223 *
************
This method uses standard tools (ssh, rsync, cp -al). EvoBackup is used for many years by Evolix for back up each day hundreds of servers which uses many terabytes of data.
Backup server
The backup server need to be based on Debian. Tested on Debian Wheezy and Ubuntu 13.04.
Needed packages:
- openssh-server
- rsync
- bsd-mailx (or other package providing /usr/bin/mailx)
Backups are stored in a big partition mounted on /backup (you can change this). For security reasons it is recommended to encrypt the backup partition (i.e using LUKS).
Main directories:
- /backup/jails: chroot used by clients
- /backup/incs: incrementals
- /etc/evobackup: Config dir
To install and configure EvoBackup read INSTALL.md