Apple Time Machine is a feature that was introduced in Mac OS X 10.5 nearly four years ago, which allows the automatic creation of incremental file back-ups that can be restored at a later date, either for the entire system or just an individual file. Mac OS X programs can also become Time Machine-aware themselves to take advantage of these incremental backups. Basic read-only support for better managing Apple Time Machine back-ups is now available to Linux users via a new virtual file-system aptly called the Time Machine File-System.
Apple's Time Machine is effectively a well-integrated back-up utility. The incremental back-ups aren't done at the lowest level of Apple's HFS+ file-system, but is basically done by copying files on an hourly basis from the source hard drive to the remote destination. Each time that's done, a new copy is made unless the file contents are unchanged, in which case a hard link between the versions is created. These hourly backups then turn to daily and weekly backups until out of disk space or opting to remove the older data.
With Time Machine not relying upon any low-level file-system features or revisions/deltas to files, viewing Time Machine back-ups can technically be done if you simply are able to mount an HFS+ file-system. In that case, you're just presented with a bunch of folders. The new Time Machine File-System seeks to make viewing these file back-ups easier.
The Time Machine File-System (TMFS) is a new project that's a FUSE-based read-only virtual C++0x file-system. It's currently hosted on GitHub
for those hoping to use it to better manage Apple Time Machine back-ups. For anyone else, it's just a nice and small example of a FUSE file-system unless you happen to feel such file-systems are toys from misguided people
For anyone reading this article in hopes of a better backup solution for Linux, the Btrfs file-system is capable of creating copy-on-write snapshots. Using the file-system's efficient capabilities is how Fedora system roll-backs
work when a yum transaction takes place, similar system restore support for Ubuntu
is also under-way, and there's various other implementations. We can even use Btrfs snapshots to find regressions incredibly fast
The ZFS file-system has also long-supported such snapshot capabilities. There might also be EXT4 snapshots support
. Aside from file-system level snapshots, GNOME 3.2 has Time Machine-inspired functionality
. Deja Dup
is the GNOME project in this area with support for regular, off-site backups. Among the hopeful Deja Dup features is support for encryption, compression, incremental backups, and file permission preservation support.