I have a problem concerning backup. I have a network (constructed using Wireless 150Mbps and Gigabit ethernet) consisting in at least 3 computers (plus maybe 2 in remote).
I have a plan to construct a linux server {pretty powerful} which will do (pretty much):
- Media center (recording / playback)
- FTP server to serve files on my network
- Other servers to developing applications (MySQL, apache,... )
- BACKUPS
Concerning the BACKUPS aspect, the machines to be backupped are running:
- 3 x Linux >=2.6.30 (Gentoo and Archlinux)
- 1 x Windows XP 32 bits
- 3 x Windows 7 64 bits
- 1 x Windows 7 32 bits
The backup might be performed using smb file share {I'm not really lucky with it nowadays} / rsync / svn / tar / or anything else or combined you might suggest. The fonctionnalities are (in order of priority):
- Revisions (SVN-style): a file has to be backed up each time it gets modified (and multiples versions of the same file can exist on the server, in fact they must)
- Scalability: if I attach an USB drive to the computer, I want it's data to be backed up as well (well... That on linux might be quite easy, simply backup all /media/ except cds and dvds, but for windows? )
- Near real-time (~ 5 minutes at max) file backup: I lost a latex report and was hard to reconstruct it from scratch
- No-Duplication: for instance if I backup the USB's disk content from 2 differents computers, I do not want the data to be backed up twice (symlink instead of hard copy in worst case)
- Manual restore / automatic restore: it's the same for me (simply not like described here below)
- I do not want to look in 1000 folders to find each time the same directory structure in which there are only 10 files (I prefer to look in ONE directory to find all the latest files in the File System structure, like /media/BACKUPS/PC01/home//... )
- Maybe ability to remove / exclude large files from backups
- Good logs
Server specs:
- 2 x 2TB hard disc space used for backups (in fact 1 is used for backups, the other one will be rsynced from the first one {I prefer not RAID 1}, just in case... )
- 4 to 8GB RAM DDR3
- At least 4 cores (AMD Athalon II x4 640 @ 3.0 GHz) -> upgradaeble to Bulldozer later
What I had already considered (might consider it again if you point out some interesting caracteristic):
- Backuppc
- Rsync (problem: no file versioning, windows client might be buggy)
- SVN (problem: 2 x overhead - files are copied twice, thus 2 x file disk usage)
- Amanda backup / Bacula (not really understood what they can and can't do)
I know a bit of BASH and Python programming on the server side. I might eventually even make up a web interface using apache / php / MySQL. All I need to know is the best components to use to achieve this (i.e. which backup software on the server, which protocol, which client, which caracteristics to implement accordingly).