Most Unix and Unix-like systems come with an excellent pair of basic backup and restore utilities, known as dump(8) and restore(8).

dump keeps track of when you've backed up your filesystems and lets you do up to nine levels of full, differential, and incremental backups. You can back up your fs to any file, most usefully a tape drive or similar device. Besides filesystems, you can also back up directories or, in some case, individual files.

restore provides an interactive shell-like interface for restoring from dump backups. It permits you to select the files you want restored from a fs backup, or to restore the entire fs if you prefer.

The trouble with dump, and the reason that many sysadmins still use the comparably primitive tar(1) or cpio(1), is that dump expects to be run on an interactive tty. If it has an error it doesn't just exit with an error code; it waits for user input. This means that it isn't too easy to run out of cron or a shellscript. A bit of Expect can solve this, though.


Mr. Option: dump and restore are certainly basic tools, and are not aimed at a fully differential or fully incremental backup strategy, yes. They tend to be stronger at a leveled backup strategy, such as the Towers of Hanoi backup strategy which is in the manpages.

Still, the optimal backup strategy depends strongly on how much your data change, and the tradeoff of time vs. space.