Apple's "Time Machine" Now For Linux... Sort Of
deander2 writes "Apple's 'Time Machine' is cool, but I use Linux, not MacOSX. So here is a Linux implementation (built off of rsync, of course). No fancy OpenGL, but quite functional none-the-less."
I have not used Leopard - so this is a real question, not a snarky response. My understanding was that a large part of what makes the whole Time Machine work and worthwhile is the interface. So if you don't have that, isn't it just another backup tool? Let me reiterate - this isn't a rhetorical question. Is doing the same thing without the interface sufficient or is it missing the point?
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
...but how is this different Dirvish, which has been around for years?
Couldn't I just stick that Ghost for Linux CD I burned last year in before I go to bed and get the same results?
Like TimeMachine, can this restore multiple versions of the same file? Did you use ZFS? Or is this just a GUI front end for a simple rsync backup?
what apple users did for backups before version 10.5 of their operating system? I just drag my important files onto an external drive.
I have excellent Karma and I am not afraid to Troll it.
How is this different than Shadow Copy?
We've had backup systems for decades. Even Windows has a more functional system than Leopard by accounts I've read. What Leopard did is make backup and restore sexy to the point that people will actually want to do it.
"Flyback" is a replacement for, well, I'm not sure what. It's certainly nowhere near Time Machine whose primary innovation was "damn gotta get me that" user-friendliness.
Dewey, what part of this looks like authorities should be involved?
I hate to sound like a fanboy but...
Apple did spend many months working on the interface and desing to try to make backups as
easy as possible... All the time they took was really in design time... A much smaller portion
was used in actually coding.... (Find files that have been altered from last update -> Copy Said files
to alternate drive in directory with the date as a name, make note of files that have deleted)
To Restore data go to the date of backup when data existed merge with previous dates and account for
deleted files.
Once selected copy files back to origional drive...
It really isn't a complex process... And I am not supprised that someone made it for Linux
within a couple of weeks of Leopard being public...
Apple did all the design work which was actually the hardest part the programming isn't that hard.
I would be careful for patent issues though... Apple is a big pattenter... (Espctially after
Microsoft stole their interface)
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
It's easier to just use rsnapshot.
"The great thing about multitasking is that several things can go wrong at once." -me
There's already been work on a Linux Time Machine, just not ready for prime time yet: TimeVault.
Think I might install this tonight. At the moment I just have a crappy little script that copies my entire home directory onto a backup drive, overwriting anything that has changed.
Looks like the Hungry Hippo release of Ubuntu will have a new application soon.
Summation 2
IMO, it is not the _interface_ that is cool about Time Machine, but the ease of use and the fact that it is fully automatic.
I didn't RTFA, so I don't know if this "Time Machine for Linux" implementation is as easy to use or not, but the real thing that makes Time Machine cool is that even my mother can use it.
The Ars Technica article about Leopard has lots of very cool details about Time Machine in it, including how it works. (It uses hard-links, including hard-links to directories, so in each and every time-stamped folder on the backup drive, you have a *FULL* copy of your HDD at that time (minus anything you excluded from the backups). Read that portion of the Ars Technica article if you want answers to questions about it.
...But will it run on Vista?
What I'd like to see is a very simple source code control system, built on the same design. Perhaps one that would just serve the needs of a single programmer.
The essential thing is that it should look like a file system, with direct access to the project directories at any state in development... write access to the current version, read-access to previous versions... directly accessible to any piece of code via the normal file API.
There should be no need for copying files back and forth from a central repository to a working directory.
It should be equally friendly to text and binary files. It should not take much disk space to store versions of files that have not changed at all from one project version/label/whatever to the next. It is not necessary or desirable to store just the diffs between text files; in the year 2007 we really can afford the disk space to store an entire new source file even if only a few lines in it have changed.
It should not rely on some central database that can be a central point of failure if it gets corrupted.
It should reliably serve both the functions of version control and backup. Bells and whistles in version control are less important than backup. In particular, if it's on an external drive and the CPU fails, you should be able to plug that external drive into a new CPU and go on accessing it immediately.
To those who work on hundred-engineer projects that need full-bore version control and CASE tools and so forth, peace. I'm not talking about a one-size-fits-all solution. I'm talking about a lightweight, simple, minimalist tool that as far as I know doesn't really exist today.
"How to Do Nothing," kids activities, back in print!
I've used Wombat in the past. It's basically a perl wrapper for rsync with a scheduler built in for hardlinked snapshots. Each image is a "full backup".
"Simple Backup Suite". Not quite Time Machine, but very simple and effective.
apt-get install sbackup
Deleted
Any idea if these guys are working with the Time Vault ( https://wiki.ubuntu.com/TimeVault ) people?
Help! I'm a slashdot refugee.
sigh .. yep .. i wonder when linux will eventually catch up with Apple and use something like "spaces" .. i mean ... wow! Those apple guys really know their shit. Think about it! .. virtual desktops?? wowwww man!!! wooooowww!!! That's innovative!!!
We *REALLY* need that for Linux!"DRM is like the Ford Pinto: it's a smooth ride, right up the point at which it explodes and ruins your day."-C.Doctorow
I just drag my important files onto an external drive.
The whole point is that you don't have to do that, it happens automatically.
AND it catches all the files that you didn't think were important, but are.
AND it lets you roll the system back to the state it was in at any given time in the past (hence "time machine").
AND it takes care of any problems that can happen during backup (like "disk full", "power failure", etc.).
Can we get a "-1 Wrong" moderation option?
I think you mean you built it *on* rsync.
Claiming to have created a backuptool "inspired on" time machine obliges one to give some more documentation than... ehm... none. A few things I know about time machine, which are not trivial: Every backup in TM is a fully consistend directory tree for which no special software is needed to consult it. Disk space is saved by using hardlinks on the filesystem in a very delicate way, including hardlinks to directories (!!!). As a result, one can very selectively delete backups without corrupting anything. (e.g., you don't want to know the state 11 am, but do want to know the states at 10 pm and 12 pm? easy facilitated without any special software). TM uses a special feature in Leopard to keep track of modified files and directories, in such a way that TM itself does not have to scan for modified files, but is informed by the OS of modified files. This notification does not even require a deamon process. Now I do believe one can wrap together something which does backups. But standard unix/linux tools don't offer the above facilities - AFAIK. And rsync certainly does not facilitate multiple hardlinks to a directory to be made. Therefore, this shameless plug probably does not offer something similar to time machine. Unless the author also claims that a Trabant is something like a Ferrari.
isn't rdiff more or less the same thing
for one, you don't have to have OSX to run it, another advantage is that you don't have to have apple hardware to run it. Two winning attributes if there ever was one.
I have had this type of rsync backups for years now on personal computers and servers. There are several scripts floating around the internet that do exactly what Time Machine does. The problem is 1) usability and 2) interface.
No end-user is going to put an rsync script in their cron jobs and specify in what mounted partition to store it and then later use rsync to restore the specified files. -- if an end user understands at all what I just said of course
Time Machine's interface is revolutionary. It gives you a way of looking back in time at your own computer and does it in a fancy way consistent with the interface. It does so for any Time Machine enabled application including Mail, Address Book, i*. If you have to restore a piece of mail from backup I doubt you'll know the name of the file it was stored in rsync or any other type of backup let alone knowing how to restore it without removing all the new messages.
Why did we always have to be bashing users for not creating their backups again? Because it was too difficult and too time consuming to make them. Time Machine takes literally 30 seconds to set up and the rest is automated. That's why people will start making backups. It's not difficult anymore and it's going to save me a lot of headaches.
Just my 2c.
Custom electronics and digital signage for your business: www.evcircuits.com
For stimulating the design of the new Linux backup system.
All linux users should tip their hat to Apple for renewing the interest in better backup solutions.
This is why free software rules.
And also why we need companies like Apple who raise the bar.
> sigh .. yep .. i wonder when linux will eventually .. i mean ... wow! Those apple guys really know .. virtual desktops??
> catch up with Apple and use something like "spaces"
>
> their shit. Think about it!
> wowwww man!!! wooooowww!!! That's innovative!!!
> We *REALLY* need that for Linux!
You're not taking this well, are you?
Sounds like a glorified trashcan.
It's more of a way to recover your backup tool. So you are right, Time Machine is nothing without the interface. It sucks not being able to recover data easily, and sadly most other tools seems to concentrate on snazy ways to backup, not how to recover.
It is!
I use rdiff-backup with a cron job to do backups of my laptop to an external drive. It takes between 20-50 mins to do a daily backup of ~50Gb of data with about 200-700Mb of changed files. The only missing feature would be a "time machine" file browser in konqueror.
sigh .. yep .. i wonder when linux will eventually catch up with Apple and use something like "spaces" .. i mean ... wow! Those apple guys really know their shit. Think about it! .. virtual desktops?? wowwww man!!! wooooowww!!! That's innovative!!!
We *REALLY* need that for Linux! Indeed. Especially seeing as Virtual Desktops have been available for Windows XP for over 6 years and they work on Win98 and possibly 95...I only please one person per day. Today is not your day. Tomorrow isn't looking good either. - Scott Adams
Give me the following:
1.) A backup system compatible with rdiff-backup, or at least as simple as rdiff-backup (i.e. the incremental copy, minus one folder, can be the latest snapshot)
2.) Make it work with gamin, so that backups are automatic
3.) Make 'thumbs' for files it understands, and store those as well
END RESULT: Who needs Leopard?
Stating on Slashdot that I like cheese since 1997.
Or, you know, maybe it was just Time Machine that is ripping off Dirvish, which I've been using to do backups on my fileserver for years.
Random and weird software I've written.
Under Leopard, you can wipe your disk clean, put in Leopard DVD and reboot... one of the first options would be to restore system from Time Machine backup. With this tool, what is the point of including /bin, /usr etc. in the backup if there is no system restore support in Ubuntu installer?
Indeed. Especially seeing as Virtual Desktops have been available for Windows XP for over 6 years and they work on Win98 and possibly 95...
I think sort of work might be more accurate
...But will it run on Vista? you make the assumption that Vista runs.Anybody want my mod points?
One of the things that actually make time machine work well is that OS X keeps a log of every file updated on the system, and when the time machine daemon runs it looks at that log and knows which files to back up(as well as what time to mark them with etc). Now, maybe I'm doing rsync the stupid way, but doesn't rsync have to rescan every file on the system to see if it has changed? If you are backing up large directories that could be a large performance hit....
Monstar L
rsycn is a bit slow, and I find that it can't cope very well with a large amount of files. The only Linux solution I have found to be anywhere near the capability of TM is R1Softs CDP solution. It is too bad it does not run on Apple, but it does run on Linux and windows. R1Soft does have remote backups which in my opinion makes it a much better solution all together. In any case, I use TM for my Apple boxes and R1Soft for Linux / Windows, rsync is way to slow on any platform. http://r1soft.com/ -Zeek
I believe linux does have facilities in the kernel to detect if a file has been modified... But i imagine you'd need a daemon to monitor this and store the list of changed files.
I wonder how long before linux does have something similar to time machine tho?
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
This notification does not even require a deamon process.
Actually, TM uses FSEvent framework and does require fseventsd daemon.
Sure am ;) I just find that kind of "In the beginning there was Apple .. then everybody started copying it" Appleboy talk fun.
"DRM is like the Ford Pinto: it's a smooth ride, right up the point at which it explodes and ruins your day."-C.Doctorow
hmm .. used them for the first time in X-Windows on HP Unix Machines at the University ... around 1993.
"DRM is like the Ford Pinto: it's a smooth ride, right up the point at which it explodes and ruins your day."-C.Doctorow
When I first heard about "time machine", my first thought was that consumer-grade commercial software had finally discovered rsnapshot. It's packaged for Debian, and available in "sarge" -- that makes it at least three years old.
Rsnapshot is an rsync-and-hard-links based scheme that also doesn't store duplicate data, and provides nice date-indexed browseable full file trees, much like the way both "time machine" and this flyback gizmo are described.
I haven't been this excited since AOL re-invented "ytalk"...
2*3*3*3*3*11*251
Hmm. My understanding/guess back when I first heard about it was that Time Machine was going to use the snapshotting feature of ZFS. Other Linux filesystems do have this feature. It's new and cool, but it's not ultra-new or ultra-high-tech. And yes, version control has been doing something similar for a long time.
a pity it uses gtk, if it used qt it would be cross plataform, none-the-less great work :)
there is also another simple alternative: www.arkall.com It is an alpha version service, which is basically an online backup solution. The linux client is open sourced, and it has a nice fuse interface for linux and mac. It is still in an alpha stage, but if anyone is interested, you can request an invitation here: http://www.arkall.com/index.php?page=join
For months, I've been using sbackup from the Ubuntu repositories, and it works just fine. It's a solid product of the 2004 Google Summer of Code. Why would you want to use some imitation Apple software when there's a perfectly good solution practically built in?
dirvish and (my favourite, and the one I've tested) faubackup do this. In the debian package, you just edit the config file for how many days, weeks, months, and/or years of snapshots to keep, pick a (possibly remote) directory to put the backups in, and then add lines to a cron job for each directory to backup. Leave it alone, and whenever something goes wrong, you just go back to the date-labelled dirs and copy the files back.
I cannot understand how this is different from all these solutions. Invariably there is some pseudo-shell where you can browse through time, cd where you want, mark and eventually restore files.
Can anyone elaborate what is so different about this (except the claimed time machine likeness)?
Time Machine looks like a simplified interface to something like Netbackup or (more likely) Miranda to me. It's a handy thing to have natively but I was less than happy about how it works out of the box: in short it claims to take weekly full backups plus incremental changes every ten minutes. The weekly full backups are taken until the disk is full (Apple's words). I can see that a lot of people are going to get caught out by this: on my Mac Mini the full backup came to 44Gb, which on an empty 300Gb external drive (which seems to be about the most common size sold in Maplin and PCWorld these days) will come to five or six weeks of full backups.
There's no indication of what it does then: does it overwrite the oldest backup? Are you prompted to delete the oldest backup? Does it suggest you go and buy another drive? In an enterprise environment decisions would have to be made about what was kept and for what duration: you wouldn't keep everything indefinitely.
I'm going to have to see if it's possible to write some usable rules this weekend: off the top of my head, keep music and video and photos and the like backed up regularly and maybe only back the OS and applications up periodically, in the case of the OS particularly before the 10.5.1 update as I have bad feelings about it. I think there might well be some wailing and screaming from people who have just switched it on in a few weeks time when their external drive is full...
The major problem I have with distro installation CD's is there's no method of doing a system restore. Procedurally, it seems to me the process should go something like:
/usr and /bin /usr /bin and /etc and copy over the changed conf files to conf.old and then overwrite everything in /etc. modprobe.d needs to be moved before the new one goes in.
1. Delete everything in
2. Reinstall everything in
3. return apt to it's installation default
4. Do a diff on
This is definitely one of those situations where it looks easy. I have no idea how much room would be needed on an install disk to do something like this. Much less if there's enough RAM disk to do the job.
Feedback welcome!
Got Trader Joe's? friendwich.com RSS feeds work now!
> Yeah. There's more to Time Machine than just a one-off backup of your data. TM
> aggregates changes and you can roll back to any point in time.
Doesn't all backup programs do this?
from the website:
http://www.ext3cow.com/
Ext3cow is an open-source, versioning file system based on ext3. It provides a time-shifting interface that allows a real-time and continuous view of the past. This allows users to access their file system as it appeared at any point in time.
Ext3cow was designed as a platform for regulatory compliance, and has been used to implement secure deletion, authenticated encryption, and incremental authentication. See the publications page for more details.
Some advantages of ext3cow:
1.
It does not pollute the name space with named versions
2.
It has low storage and performance overhead
3.
It is totally modular, requiring no changes to kernel or VFS interfaces
You can't be ahead of the curve, if you're stuck in a loop.
You can also take a look at my quick-hacked frontend for rsnapshot (for KDE) - RetrospeKt: http://www.kde-apps.org/content/show.php/RetrospeKt?content=57952 I wrote it mostly for myself but it is really handy.
Let's see who can come up with the most interesting way to complete the following sentence:
"That's not a gloryhole, that's a..."
Please! Time Machine doesn't even bloody work! Or anything else in Leopard. I just got my money back from the Apple shop for that pile of shit today. Thank goodness for UK merchantable quality laws.
Both of those windows-based solutions, which have been out for quite some time, allow you to restore an individual file or folder from a wide range of dates. My setup backups files at midnight and 9am everyday, and I can any version of a file going back nearly 3 months. If I were to reduce the backups to once daily, 6 months of version changes on each file is plausible.
example: http://www.steveallwine.com/images/previousversions.jpg
The only arguement I can find about why Time machine is innovative is comparisons between it and system restore on the PC. Since these are two entirely different functions, I don't understand why its brought up.
No, use git. see the Google Tech Talk: Linus Torvalds on git
I've got something like this for Solaris/OpenSolaris users at:
http://blogs.sun.com/timf/entry/zfs_automatic_for_the_people
(pretty screenshots on the blog post for the previous version
http://blogs.sun.com/timf/entry/zfs_automatic_backup_0_1 )
-- plug a USB disk into your ZFS-based OpenSolaris box, and any filesystems you marked as being interesting enough for backups will get sent to the USB disk. If previous snapshot streams are already on the USB disk, then we do an incremental backup. GUI notification via notify-send(1) Works for me!
This still work, specifically there's no restore GUI right now, and the configuration is a bit clunky, but still...
"it's latin! Read a book!"
"sorry Andy"
Virtual Desktops on windows don't really work. MSVDM crashes Vector NTI reliably. I have never seen nor heard of a linux app that crashes with virtual desktops, so I don't think it's the apps fault. MSVDM is buggy crap that's not even worth mentioning.
Give me Classic Slashdot or give me death!
Actually, Time Machine only knows about directories. If FSEvents tells it that something in a directory changed it then compares the live directory to its last backup and backs up the changes.
My biggest beef is how Apple defines "changes". TM will rebackup a file if the permissions change. RSync won't.
Anyone considering making a "Time Machine" for Linux should look into the work of the InterMezzo File System layer. It is not a classic file system due to the fact that it doesn't store anything itself. Instead it sits as a layer between the applications and an actual storage file system (such as ext3) to track all changes as they occur. While rsync must do a fairly heavy weight scan for new/changed files, InterMezzo is able to skip the scanning step due to having already tracked these files at the time they where written.
"That's not a gloryhole, that's a..." "...space station."
(Who didn't know that was coming?)
Lack of easy to use, comprehensible interface does hinder all open source, not just Linux. I suspect however, that people do not spend huge amounts of time coding arcane items, reviewing the bugfix reports provided by their users and fixing problems that appear only on one user out of thousand's screwball setup, and then say, "To heck with making the GUI work." I suspect, rather, that GUI is equivalent to proofreading - anyone can tell when a document has been poorly proofread, but fewer good proofreaders will work for free than people will write for free on the Internet. Of course, good user interface starts with documentation, if the GUI designer can't tell what the program does, he can't make a GUI to tell the user.
I've been looking into this soft of thing on the related topic of replication which slowly found it's way onto my home system as a great backup solution (in that case PeerSYNC). When you think about it backup really *is* replication, and ideally real-time replication. Under Linux there are a couple of great places to start (rsync may be a good engine, but certainly not the start point unless you want a polling or on demand solution) namely inotify and on older systems dnotify. The idea being to mirror the file system (using whatever means suit) to [device] as immediately as it updates in order to avoid data loss.
The thing Apple seems to have accomplished is making smart backup more then just a smart backup engine including the client in the design, which really is pretty revolutionary.
Quack, quack.
The word "loosley" should be spelled "loosely".
Not terribly important, but people will be more willing to believe that your code is fairly well written (and tested) if you've also taken the time to spellcheck.
If you are interested in concept of using hardlinks to simplify your back experience, you can either set something up manually with rsync, or you can check out Dirvish: http://www.dirvish.org/ .
As other have pointed out, the pieces that are missing are:
1) No directory hardlinks, meaning you backups take up more space than you would like, since you have to create the whole directory structure, and then hardlink each file.
2) No FSEvents, so a full tree compare must be done by rsync each backup. So backups are not instantaneous, and are a bit intensive
3) No nifty interface
All that said, if you read the ArsTecnica article about how the Time Machine backups are stored, they are stored in a manner almost identical to Dirvish.
For me Dirvish makes it trivial to have a backup taken each night, with various expiration rules, and each backup being essentially an incremental backup.
Spencer Ogden
My first thought was...
"That's not a gloryhole, that's a Republican US Senator!!"
Then I thought...what's the difference?
Momentarily, the need for the construction of new light will no longer exist.
So let me get this straight:
Apple chases Microsoft's tail lights, by ripping off Windows XP's "system restore" feature and rebranding it "Time Machine".
So Teh Lunix, not wanting to be outdone (since chasing MS's tail lights is THEIR gig), Teh Lunix rips off Apple's rip off of XP. So does this mean that Apple's chasing of MS's tail lights is now obstructing Lunix's view of the Windows tail lights, or is it that Teh Lunix is now so far behind Windows 95 that they can no longer even see the tail lights, and have to chase Apple's tail lights instead?
This is just so damn confusing.
that the FLOSS community does (mostly) realize this. But I also suspect that good interface design is difficult. I used to feel more like you seem to, but after years of watching very smart ideas come together with very mixed results I'm beginning to think that there's a layer to sophisticated design that is very unique. Apple seems to consistently shine here and for whatever reason talented designers don't seem to be as keen on joining OSS efforts. Maybe programmers are more political then designers?
Quack, quack.
"That's not a gloryhole, that's mmmfrgl...gack..."
I can't help but mention rdiff-backup, which stores deltas of files changes going backwards in time, allowing one to retrieve the file at time X with a minimum of storage waste. The interface is, of course, nowhere near as nice as Time Machine.
There's a big downside to FSEvents' "folder changes only" model.
;-)
If you move a file or folder to another folder, or even just rename it, it will copy to backup rather than hardlinking to the previous location/name (I verified this using "ls -la" in Terminal and checking the hardlink counts). Best to avoid constantly renaming your video files
Now, I can see why this happens: although every file has a unique ID that doesn't change when you move it (this is why aliases will find their targets as long as it's on the same drive), FSEvents isn't logging these for TM to pick up. So, TM knows the folder contents changed somehow, does a folder diff, and copies to backup anything "new," and stops hard-linking any file that's been "removed" from that folder.
Hopefully FSEvents and TM will be updated somehow to handle moves and renames, but I suppose they've evaluated the performance tradeoffs already.
At least since 2004. Just bear with me and take a look at the following HOWTO.
http://www.mikerubel.org/computers/rsync_snapshots/
I've up a system exactly like the one described above, and had it running, on Panther and now Tiger. The same setup can be used in Linux, or actually any posix file system that allows hard links.
I've been enjoying beautiful backups, with each subdirectory being a perfect image of my home directory at any given date, for about three years now. What does time machine do exactly that's different from this, other than fancy graphics?
A number of people have pointed out some of the major deficiencies of this software in comparison to Time Machine. There are a couple of items, however, that no one seems to be mentioning and which I think will have some of the biggest, long term effects. First, Time Machine includes easy APIs so that other programs can access the stored data from within their application. Second, it is included in the standard install so developers can rely upon it being there.
Why does this matter? Think of all the applications in which versioning would be really nice, but it just isn't available. Your address book, for example can look up old contacts or numbers or addresses. Your development tools can automatically load an older, version of that code you're writing to recover that function you did not think was needed anymore, even if you did not write it to a versioning server. Your video games can take you back to older saved games or versions of characters before you sold that really cool item. Photoshop, Word, OpenOffice, etc. can use it to revert changes to a file all the way back to last month.
The difference is that while many users will never take the trouble to learn how to use a backup system and properly recover an old version of a file, they might trouble to plug in a Time Machine drive and then use the interface to backed up versions from with their applications. It seems strange that everyone is ignoring the cool new API for developers and concentrating on the integration in the finder, which will probably be the lesser used portion of Time Machine.
"Me too!"
-_-
Claiming to have created a backuptool "inspired on" time machine obliges one to give some more documentation than... ehm... none.
ok, fair enough. =P
to answer your questions, yes, i am creating a fully consistend directory tree for which no special software is needed to consult it. hardlinks are used, but obviously i didn't hack hardlink dir support into your kernel via python, so the dir structure is still duped. (wasting a few KBs of hard drive space, i'm sure, but what the heck)
no inotify, so i do have to scan the entire dir during every back, but this hasn't been prohibitively long-running even on very large dirs i've tested it on.
And rsync certainly does not facilitate multiple hardlinks to a directory to be made.
nope, but to files it does, and that's what uses the most disk space. check the option: --link-dest
Therefore, this shameless plug probably does not offer something similar to time machine. Unless the author also claims that a Trabant is something like a Ferrari.
italian trash... =P
http://kered.org
I know lots of musicians, and they create music, not pdfs. And none of them compose in sheet music. Many of them are linux users, but none of them use linux for composition. There is nothing on Linux that even comes close to Garage Band for the non-geek.
I don't think you quite understand what TM is backing up. While it does indeed do a "full backup", it would not write your 44GB every time it saves, simply write those files that changed. So unless you are changing every file in your system, your 300GB disk will last much longer than a couple of weeks.
Where a real problem would come is if your hard drive is full of only a couple very large files, such as for video editing, in which case you probably need more than 1 300GB backup drive anyway.
Time machine doesn't respond to each file change. On it's hourly run, it checks a log file managed by FSEvents for changes. Think of dnotify instead of inotify. Most users will appreciate the hourly backups. It means they can at most lose 1 hour worth of data instead of 24 hours worth. During the backup, disk io will slow down for user tasks, but apart from that, there is no noticably performance drag.
Time Machine keeps:
When the disk is full, it deletes the least recent backup(s) as necessary to complete the most recent backup. You may optionally receive a warning when this is about to occur.
The weekly full backups are taken until the disk is full (Apple's words). I can see that a lot of people are going to get caught out by this: on my Mac Mini the full backup came to 44Gb, which on an empty 300Gb external drive (which seems to be about the most common size sold in Maplin and PCWorld these days) will come to five or six weeks of full backups.Because OS X now supports directory hardlinks, it is possible to keep full backups while only taking the disk space for new changes. I plugged in my TM disk after about a week last night, and it backed up 1.8 G of stuff. A few minutes later, it backed up 52kb of stuff. A few minutes after that, 15 megs of stuff. Each of these directories looks, when you browse it in the FS, as though it takes up the entirety of the space required for a full backup, but in actuality, it only takes up the space required for an incremental backup. I pastebinned an example of this last night. the 'sparsebundle' file is a disk image containing the directories indicated. Note that despite having three backups of 9.1G, one of 1.8G, and one in-progress of 5.3G, the total size of the disk image is a whopping 12G.
Thus, we can see that backing up your 44G mini will take 44G initially, and then each additional backup will only take the space that a delta would require - if you change 200M of files, your next backup takes an additional 200M from the drive, not an additional 44G.
There's no indication of what it does then: does it overwrite the oldest backup? Are you prompted to delete the oldest backup? Does it suggest you go and buy another drive? In an enterprise environment decisions would have to be made about what was kept and for what duration: you wouldn't keep everything indefinitely.As mentioned above, it deletes the eldest, optionally prompting you.
I'm going to have to see if it's possible to write some usable rules this weekend: off the top of my head, keep music and video and photos and the like backed up regularly and maybe only back the OS and applications up periodically, in the case of the OS particularly before the 10.5.1 update as I have bad feelings about it. I think there might well be some wailing and screaming from people who have just switched it on in a few weeks time when their external drive is full...I don't see that situation happening for months, possibly years depending on their usage patterns, and the people who enable it and have it backing up their 5G torrents left and right will soon learn to add ~/Torrents to their exclude list.
BTW, worthy tip for anyone who's looking to enable Time Machine - exclude ~/Library/Caches. Seriously, it's gigs of crap for nothing, and it can all be regenerated when needed. I hardly need TM to back up my Safari browser history.
As expected, there are a lot of mentions of rsync, but rsync alone isn't going to get you the versioning feature that comes with Time Machine. I use rdiff-backup for versioned rsync.
/tmp/file
Restoring my just-deleted file: rdiff-backup -r now host.net::/remote-dir/file local-dir/file
Restoring a file to 10 days ago: rdiff-backup -r 10D host.net::/remote-dir/file
Viewing changes to a directory in the past 5 days: rdiff-backup --list-changed-since 5D out-dir/subdir
And yes, I use this even on my Macbook. Time Machine works poorly with File Vault, the disk encryption feature paranoids like me use on portable computers, but rdiff-backup does just fine.
http://freshmeat.net/projects/snapshot/ And I'm sure I saw a similar, but less well documented, project before this one.
It is largely due to the difference in pro vs. casual development methodologies. They both have their failing in terms of discipline, but the casual crowd lack something ELSE:
* They are coding to impress/please either A) themselves or B) their coder and sysadmin peers
* They rarely establish who their audience is (not consciously).
* The above determines what interface (in the broad sense) types will be honored. In the case of GNU system hackers, the interfaces are CLI and libwhatever APIs. ABIs are shunned party because of licensing, but also to a large extent because their audience is unconsciously assumed to be people familiar with linkers and compilers.
* Press Ctrl-Alt-Bksp in your Linux GUI and watch as all unsaved data is *instantly* oblitterated. GUIs are a nuisance to the Linux crowd because they represent an unwanted commitment (or the suggestion of a commitment they want to avoid). Likewise WRT a graphics subsystem that isn't properly configurable given any reasonable set of usability criteria... if Xfree and Xorg can't write a comprehensive configuration panel themselves, they should at least give others the tools to do so (and the semantically f--ked xorg.conf file is no such tool). Any fool writing for usability would have at least provided an API to have settings changed/validated in memory AND saved to disk by the graphics subsystem itself.
And just what is a computing 'interface'? It is defined as a commitment to a set of functionality for a particular class of actors (users). But FLOSS coders for the most part are NOT going to commit to end-users or other non-peers.
The ones that buck this attitude and inherited a lot of professionalism and user-focus from the proprietary world are: Mozilla, OpenOffice, MySQL among others. Ubuntu could qualify, though they aren't my ideal of 'coders'... they have internalized some specific user-focused methodologies.
Ones that are stereotypically slacking in the FLOSS manner: Gimp, Linux kernel (sorry, that is my honest assessment and I can cite Torvalds' own comments that would support it). KDE and to a bit lesser extent Gnome (although I hate to say so, because Gnome is so technologically awful).
Recommendations:
* Learn Rational Unified Process. Particularly the parts that cover documentation of requirements and use cases; continually reviewing/refreshing these is the best discipline for staying audience-focused.
* Dump the software repository mentality. Repositories/distros are inserting themselves between you and your end-users. You will have to code your stuff with LSB Desktop as a target and include all the rest that the spec doesn't supply, but you will finally be able to realistically distribute apps to end-users independently, on your own, without dependency issues.
* Re-connect with Personal Computing as a concept. Why were IBM PCs coveted in offices that were bursting with IBM mainframe terminals? Answer: Personal initiative and control for non-experts. Distro/repository culture comes from the computer science lab and server room. The concept of PC platform, a defined and easily navigable space upon which you place third-party products, came from the garage and the backoffice. Apple has a PC platform, and MS does. FLOSS has BSD and Linux distros where a novice programmer cutting her teeth has little chance of quickly and easily sharing her work with classmates and friends (even when they run Linux)... she'd have to devote weeks to fighting with and learning the package manager/dependency tarbaby first.
* For the OS people: Your graphics and sound subsystems must be refactored before they can meet basic user expectations. Linux *still* does audio-blocking on inexpensive hardware even with ALSA; the architecture of audio mixing must be reworked to never allow blocking unless an app jumps through hoops to do so. Not hearing a softphone ring, or a meeting alarm because of some Flash-laden web pages doesn't cut it... it's UNUSABLE!
Fixing this w
Apparently it doesn't work well with FileVault:
http://blog.nominet.org.uk/tech/2007/10/31/leopard-and-filevault-wont-work-well-with-time-machine/I also don't see how it's going to work well with the disk images associated with virtualization technology like Parallels, or with large monolithic email folders and databases.
The problem is that Time Machine backups at the file level of granularity. Block-based backup technology like Ghost is a much better solution -- it can run in the background, perform full and incremental backups whenever you want, and the backup sets can be mounted as drives for browsing. And your backup disk won't fill up with multiple copies of your email or VM disk images because you forgot to exclude them from your backup.
I got Leopard just a week ago, and Time Machine has already saved my butt. Before Leopard, I had created a cronjob to to a compressed tar of my entire system, and put it on a secondary hard drive. I backed up three times per week with a rotating backup. Restoring was pretty much untaring that one file I needed. I could do it, but my wife certainly can't.
.snapshot directories using the standard Unix tools too, so if I don't remember the version of a file I needed, I could do a find and a grep to find the correct file. However, this still wasn't Time Machine.
.snapshot directory, the "find" command would take forever because I was combing through all of those directories one file at a time. You type in a missing file name in Time Machine, and in seconds, that file is found. Plus, Time Machine doesn't have to work on a "file" level. As someone pointed out, I can search through my address book for a particular set of records, and only restore those records.
I've seen software on a NetApps that is "similar" to Time Machine. In your $HOME directory, there is a ".snapshot" directory that contains 24 directories (one for each of the past 24 hours) and a month's worth of days. If I needed a file I deleted 2 weeks ago, I could go to the correct "day" directory, and see what my $HOME directory looked like at that time. I could search the
If I was looking for a missing file on my
Plus, I am sure that the technicians who setup the NetApps took a lot of time and effort to configure the ".snapshot" directory. Time Machine took me about 30 seconds to setup. (Step #1: Select backup drive. Step #2: Click the "On" switch. Step #3... There is no Step #3).
Time Machine is and isn't a marvelous technical breakthrough. There's nothing about Time Machine that is earth shattering technologically. However, the way it is put together is amazing.
I am sure that we will see many copycats in the next few weeks. I am sure that Microsoft will come up with something very similar in a few months. After all, the backend of Time Machine is quite simple. It's the front end that's absolutely amazing.
Time machine for Solaris: # zfs snapshot mypool/myfs@`date +%m%d%H` ta da... no hackery involved, it's a shipping feature.
$ su -
# yum install pygtk2 gnome-python2-gconf gnome-python2-extras pygtk2-libglade
Note the hash before the command, as opposed to the dollarsign. The hash indicates that we are root.
It is dangerous to be right when the government is wrong.
Why don't you use http://pyinotify.sourceforge.net/ to enable inotify support?
And so she should wash your mouth out with soap. For the crime of a stupid date format! You'll be sure to use 2007-01-11 (assuming you actually meant January since Americans get even this part wrong) when you write this code, right? 11-01-07 could mean anything, including the 7th of January 2011. ISO8601 forever!
I was wondering about upgrading to Leopard once I get a new external HDD, but I have one big reservation, and I want to know if anyone knows the answer to this.
Does the Time Machine drive _have_ to be HFS+? I want to use Time Machine to manage my backups for it's ease of use, but I want to be able to also treat my external HDD as an external HDD! I want to be able to take it to someone's house who doesnt have a Mac and access my files from their machine (probably Windows XP obv).
Like most of us here I'm the local geek who fixes everyone's PC's and I stick alot of useful software on a DVD at the moment for helping fix someone's computer. I'd prefer to have this on an external drive (as well as all my backups) and use it.
If it insists on HFS+ it looks like I'll be using BackupPC. A nice interface is great, but if it makes my external HDD fixed to this machine, what's the point?
I still haven't thought what to format it anyway if I don't go for Time Machine. Obviously HFS+ can't be used everywhere, NTFS is no good on my Mac, FAT32 can't be used for backups with the 4GB file limit. What am I to do?!?
FreeBSD has had support for "snapshots" in the base install for some time now. I believe it was modeled on a feature in NetApps. Other file systems may support a similar feature. Basically, you tell the system to take a snapshot - say every hour via cron - and it starts a new log of changes that have taken place on the file system. Multiple snapshots may be maintained concurrently. With a little snapshot magic you can mount, and even automount these just like NetApp and Leopard. It works great. Note that it saves the snapshot on the same filesystem, so it does not get you out of making proper backups.
The beauty of the OSX's time machine is that it works right, by default, without any setup (If you have an external drive for the purpose). The upshot is that in 5 years, maybe 50% of mac desktops will have SOME kind of regular backup. That will be a pretty huge jump from about 0% now.
Sorry, but please check out BackupPC. All the features you named are part of BackupPC since its existence. I know, the concept of doing Backups by linking files to the backup space is something new to a Mac user, but it doesn't mean that Apple is the inventor. BackupPC does more than this, but I don't want to get into thos pesky details like compression and pooling (very nice invention!). And of course you can access the backup pool with your standard utilities. You say, rsync is not TM and you are right, but BackupPC is much more than rsync.
...Also, TM is not confined to the Finder per say. if you're in Address Book and lost a contact, type in the filter string to locate it. Still... It's PER SE, goddamnit! And it means "intrinsically!" You saying "TM is not confined to the Finder per se" would imply that either it IS somehow confined to finder (but not intrinsically) or you just like to use big-person words you don't understand. HmmmIf modern use of "per se" decides to move back to "by itself", that's fine by me. But even if society decides to start using "per se" to mean "fucked if I know" - and uses it consistently in this fashion - there would be nothing inherently wrong with this. Language evolves and is fluid, and we everyday use hundreds of words whose current meanings have no relation to their original etymology. We even use words that now mean the exact opposite of their roots - such as "philanderer", for example (see http://dictionary.reference.com/search?q=philanderer).
Language is a means of communication. If people understand what you're saying, the rest is simply semantics
First of all this isn't really comparable to time machine, as it's just another rsync based backup system. That being said there's ext3cow that's been available for Linux for some time.
It's a work in progress, but it's already quite stable. Maybe if more people get into it, development speed will increase. There's even a simple GUI available.
cd
:-P
hg init
hg add
echo '@hourly hg commit' | crontab
Ooooh! Time Machine! X'-D
Just add a few more lines and parameters, and it's actually usable
Try Ubuntu GNU/Linux, it's great!!!
There's obviously lots of version control systems for developers (svn) and business people (windows shadow copy) and there's even version control built into some applications like word, although few people know about it. The point of time machine is that it is rough grained general purpose version control for the average user who can't deal with the complexity and rough edges of svn. Version control for movies, pictures, and word documents with a slick interface.
This is really what apple is all about, taking existing technologies and making them accessible to joe user and useful for the sort of problems that joe user addresses. This simply reflects that apple is pretty much entirely a consumer technology company, whereas linux and even windows to some extent tend to be oriented towards professionals.
People tend to learn about windows at work, and then end up buying a windows home system, whereas people tend to learn about macs at home and, sometimes, end up bringing them to work.
I'd be surprised if you didn't see a Time Machine-like backup system for Gnome within the next few months. I also suspect that the Gnome developers will learn from the Time Machine implementation may be able to come up with a better underlying implementation.
I've played with Leopard for a few days now, and is it me, or is it a close knockoff to Solaris/Any favorite Linux distribution? I'd almost rather use Ubuntu than Leopard. I mean spaces has been around forever, rsync instead of Time Machine, and I just hate browsing in the Applications dir for the programs I haven't docked yet. I wish there was a Win key + E alternative to getting to browsing the files system, like there is in XP too.
I'm not against X, as a matter of fact, that's the only laptop or desktop that I'd put money towards right now for a family computer. But I find myself more productive in XP/Vista/Ubuntu after trying Leopard.
A less GUI-driven but probably more robust implementation of a similar idea is ext3cow.
If you want the GUI for it, add on The Time Traveling File Manager.
In this day an age of warrantless searches and National Security Letters, is it really a Good Thing to have everything that ever passes through your computer be stored forever? Or not be easily and permanently deleted?
Its XP only at the moment but so is 90% of the world.
http://www.rebit.com/
Same kind of "history"/CDP as time machine AND full bare metal recovery to a specific date (like if you have to replace your hard disk). No configuration/settings at all, never fills up (if your lap top disk is smaller the the Rebit).
Maybe Apple is the one playing catch up.....
I once read that Plan9 used a WORM drive and basically all work from the office was saved at byte-level granularity. This is really what I want.
A Time Machine like system would be useful, but there are two problems I see. One is that a file could be corrupted if being written to when the backup is made (at least someone said this happens). FWIW there's something called pdumpfs from 2004 like flyback (in Ruby).
The other is of course that my most common needs for backup are erasing something by accident, "organizing" my files and then deleting something to where they've been organized, somehow losing my current version and wanting to revert to the version a minute before, etc. Other uses are when I have files on old media I need (where's the memory stick reader and the memory stick, or what's in that dead computer), and also of course the need for remote secure peace of mind backup (not on an ISP).
Time Machine doesn't answer all these things. I think there needs to be a system-wide stream backup daemon that apps can call, then the apps need to support it. Definitely I would like OpenOffice to do something like this that would work cross-platform. a series of graduated scales allowing one to zoom back quickly would also be good, finest grain one can show context. Apps should also provide hooks to the OS so that such an OS-supported interface could for example compare layers or bitmaps in the Gimp to show what has changed, compare stroked vector art, compare rich text, etc. in an intuitive manner perhaps using outlines or coloration so you can grab bits of what has changed.
All that said I think I would be very happy if 1) OpenOffice saved the entire keystroke/mouse event stream allowing reversion at any granularity, and 2) common filesystem commands could be relinked to utilities that maintain a trash space so you can revert prior to your (my) latest fuckups within the past week, say. These things do not seem too difficult technically.
A huge benefit of rdiff-backup is that after the first backup, it only stores changes to files. Someone once gave the example of backing up a 2 GB Entourage mail store with Time Machine. Each time that the mail store changed, Time Machine would have to add 2 more GB of data to the backup disk. rdiff-backup would only backup the changed data in the mail store, saving huge amounts of disk space. It would take a very long time for the diffs to add up to the size of the mail store itself (unless you got a WHOLE lot of large messages real quick), and would likely take much less time to run the backups too.
"Those who consume the bulk of goods are those who make them. We must never forget this secret of our prosperity."
Again, I have usually seen retrieved files (and directories) being placed in a different location than the original, so you can examine them before manually placing them in their original location.
I don't know about Time Machine, but I have set up BackupPC for work.
Here's what it does that's unique:
Incremental and full backups with rsync. (Too bad it forces you to do "full" every now and then, a waste of bandwidth, but read on...)
Compression and pooling. Every file backed up is first bzip2'd, then hashed, before it's stored. By checking that hash, it will only store each copy of a file once. So, this handles if you have the same file three times in a single backup (ie three separate locations in your home dir), or if you delete a file and then restore it later, either by accident or from somewhere else.
I imagine Time Machine could be like that, though I'm not sure. If it relies on ZFS, it would at least be faster.
To be fair, what BackupPC cannot do is store incremental backups on the same machine efficiently. You can do an rsync backup with hardlinks, and as long as you can be sure that anything overwriting a file will delete it or rename a tempfile on top of it, you can basically have anything that hasn't changed be stored only once.
But, BackupPC and native rsync are both slow with lots of files. It has to be a LOT of files, but the issue is still there. I've actually run out of RAM when trying to backup a BackupPC repository itself with rsync, which is why it now uses drbd instead.
What's really needed -- and what Time Machine _may_ provide, though again, I don't know, without picking up a copy of Leopard -- is support for this kind of thing at the filesystem level. Basically an auto-CVS (or SVN, at least). I'd be happy using a distributed VCS locally -- something like bzr or mercurial, though it'd be nice if it could be as smart as BackupPC about multiple copies of the same file -- but that still means moving (renaming), deleting, creating, etc all have to be done manually (bzr mv, bzr cp, bzr rm, etc). Some FUSE module would be great...
There's still one thing lacking from that -- cp is still inefficient. Would be really nice to have it copy-on-write. But, I guess that's not happening without changing POSIX, which I guess isn't happening.
Don't thank God, thank a doctor!
I'll be willing to bet that it's not a "hard link" in the strictest sense. You see...
The problem with hardlinks to directories is, you can create loops that way.
If you allow this, you have to use a garbage collector for your filesystem, instead of (or in addition to) a simple reference-counting scheme. Or you can just leak disk space...
A naive garbage collector would basically involve searching the entire tree for orphaned folder hierarchies, and freeing them.
And not allowing this is tricky.
For most cases of needing a hardlinked directory, Linux can simply use symlinks. For cases where symlinks won't work (because some program is actually checking for them), a bind mount will work.
But I don't think either of them cover the intent here, which is to make a copy-on-write image of a directory tree, not a hardlink. After all, if it was a hardlink to the current state of the rest of the FS, and I rename a file in my home directory, it'll be renamed in the most recent backup, too. Maybe it's only between backup revisions?
Don't thank God, thank a doctor!
For example: Was Quake a genius program, or a ripoff of Doom?
If by "design part", you mean strictly graphics, you're clearly wrong about Time Machine.
If by "design part", you mean the high-level design of the technical underpinnings -- for instance, the way in which Time Machine watches the filesystem for changes, and makes all revisions available as part of the filesystem at every level (so that only Time Machine can tell it's not actually making a full backup of your entire hard drive once an hour)...
If that's your definition of "design", you mean software design, which is quite a bit different than UI design. When most people say "design", they generally mean that UI part, the fancy graphics and so on.
And if that's your definition, you're still wrong, because the "Linux version" is actually more about the UI, and is actually technically less advanced, even if they had the same interface. So no one "made it for Linux".
Don't thank God, thank a doctor!
Efficient copies are the hardest, as POSIX does not -- in fact, I don't know of ANY filesystem API that lets you create a copy-on-write file.
Also, how are you planning to handle branching?
I realize you're talking a light tool, but I'd like light and uncrippled, if possible. Because if you add these things back in, you would basically have everything you need from svn -- or a local one like bzr.
(If you're vigilent enough to use CVS or SVN, by the way, just use bzr for local-only stuff.)
Don't thank God, thank a doctor!
That is the most useful and insightful description of Time Machine I have ever seen
inotify and fsevents are different, as I understand it. inotify calls applications if something in the file system changes. fsevents doesn't do that; instead, the application calls fsevents, and fsevents returns a list of files changed since the last call. For something like backup, the second solution is obviously better, since it creates less overhead.
So there's no performance drag in OS X, but there would be one in Linux if a similar solution used inotify.
One of the first systems (probably not the first) to make use of filesystem notifications was the Amiga; I added Notification support to the Amiga ramdisk Way Back When for OS 2.0 (3.0?) so that applications could ask for notification on changes to system or application preferences stored in the virtual PREFS: disk (normally stored in RAM: after boot).
The equivalent would be having something in X (perhaps in KDE/Gnome/etc on top of X) watch the xorg.conf file, and when it changed re-read and re-parse it. So "cp xorg_1024x768.conf xorg.conf" could cause an automatic resolution change to a saved 1024x768 configuration (assuming X handled on-the-fly resolution changes) - or that if you wrote a new xorg.conf editing tool, all it had to do was rewrite xorg.conf to get the changes to take effect. And other programs could be watching it as well and react, instead of having to somehow know that programs X Y and Z are interested and need to be HUPed or stopped and restarted or whatever.
All the daemon "HUP-to-reread" stuff would become automatic with this sort of setup.
Ancient history, though many of the abilities mentioned don't exist in many (most) modern OS's. In some cases, more complex and more capable mechanisms have surpassed the old Amiga ideas, such as systems like dbus - but the existing Linux software doesn't always make good (or consistent) use of them!
Comment removed based on user account deletion