|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Rsync Time Backup||2,851||3 months ago||1||March 03, 2021||101||Shell|
|Time Machine style backup with rsync.|
|Backintime||1,580||9 days ago||201||gpl-2.0||Python|
|Back In Time - A simple backup tool for Linux|
|Asimov||1,209||2 months ago||1||March 03, 2021||34||mit||PHP|
|Automatically exclude development dependencies from Apple Time Machine backups|
|Acnh Bcats||186||2 years ago|
|Animal Crossing New Horizons BCAT Events|
|Gbm||178||5 days ago||2||gpl-3.0||Visual Basic .NET|
|Game Backup Monitor - Automatically backup your saved games!|
|Timedog||173||2 years ago||1||February 27, 2018||8||gpl-2.0||Python|
|Displays set of files that were saved in Time Machine backups|
|Raspberrypi Timemachine||161||5 years ago||1||mit|
|Apple Time Machine with raspberry Pi|
|Rsync Time Machine||92||3 years ago||1||gpl-2.0||Python|
|Time Machine Style backup using rsync|
|Time Machine Sparce Bundle Fix||68||9 years ago||1||Shell|
|Time Machine Sparsebundle Fix|
|Ia.bak||61||3 years ago||15||gpl-3.0||Shell|
|We back up a lot of stuff from around the web; now it's time to back up the Internet Archive, just in case.|
This is a FUSE interface to a time machine backup. It is very basic; it supports read operations, and knows how to read the most recent successful backup.
My old macbook died one weekend. I used time machine to back it up. I didn't have another mac to restore the backup onto, and didn't particularly want to immediately buy another one to replace the dead one. Linux has HFS+ support, but doesn't know how to interpret the extensions associated with time machine; this means it's possible to restore data from a time machine backup onto Linux, but also makes it a bit of an ordeal. I thought that a FUSE interface would be an easy way to bridge the gap between Linux's view of the HFS+ filesystem and what one would expect to see on a Mac, so I wrote this.
The only dependencies that I'm aware of are fuse and fuse-python. Note that I've only tested it on Linux; it's possible that it could work on other unix-like operating systems, but that's not guaranteed and not tested.
Assuming that you're running as the same uid as you had on your mac, doing:
python fuse-tm.py <mountpoint> --hfs-path=<hfs-path> --hostname=<hostname>
should do it. mountpoint is the folder that you want FUSE to mount on. hfs_path is the path to your mounted time machine. hostname is the hostname of the Mac that you're restoring. You can then interact with mountpoint as if it were your time machine on your mac.
You can't write to the time machine filesystem. I wanted the tool to allow me to restore data from a time machine backup onto my new Linux box, so I didn't have any use for write capabilities.
For it to work correctly, you'll probably need to run the FUSE process with the same uid as your user on your mac. I haven't investigated whether there's an easy and automatic way to do this.
As mentioned, it only knows how to interact with the most recent available backup. This would be easy to change, but I don't really have a use for that functionality so I didn't bother.
I'm not aware of any specific bugs. It's software that's undergone limited testing (by me, restoring my backups), so it's very likely that there are bugs. If you think you've found a bug, please open an issue on github .
Kevan Carstensen [email protected]