What is a good, secure, method to do backups, for programmers who do research & development at home and cannot afford to lose any work?
Conditions:
-
The backups must ALWAYS be within reasonably easy reach.
-
Internet connection cannot be guaranteed to be always available.
-
The solution must be either FREE or priced within reason, and subject to 2 above.
Status Report
This is for now only considering free options.
The following open-source projects are suggested in the answers (here & elsewhere):
- BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and MacOSX PCs and laptops to a server’s disk.
- Storebackup is a backup utility that stores files on other disks.
- mybackware: These scripts were developed to create SQL dump files for basic disaster recovery of small MySQL installations.
- Bacula is […] to manage backup, recovery, and verification of computer data across a network of computers of different kinds. In technical terms, it is a network based backup program.
- AutoDL 2 and Sec-Bk: AutoDL 2 is a scalable transport independant automated file transfer system. It is suitable for uploading files from a staging server to every server on a production server farm […] Sec-Bk is a set of simple utilities to securely back up files to a remote location, even a public storage location.
- rsnapshot is a filesystem snapshot utility for making backups of local and remote systems.
- rbme: Using rsync for backups […] you get perpetual incremental backups that appear as full backups (for each day) and thus allow easy restore or further copying to tape etc.
- Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. […] uses librsync, [for] incremental archives
- simplebup, to do real-time backup of files under active development, as they are modified. This tool can also be used for monitoring of other directories as well. It is intended as on-the-fly automated backup, and not as a version control. It is very easy to use.
Other Possibilities:
Using a Distributed Version Control System (DVCS) such as Git(/Easy Git), Bazaar, Mercurial answers the need to have the backup available locally.
Use free online storage space as a remote backup, e.g.: compress your work/backup directory and mail it to your gmail account.
Strategies
usb hard disk + rsync works for me
(see here for a Win32 build)