View Full Version : What do you guys think of TimeVault
FryerFox
June 15th, 2007, 03:52 PM
TimeVault is an application that performs a function vaguely similar to Apple's TimeMachine(TM) in their upcoming release of OSX-Leopard.
But not so glossy and 3D (yet).
It makes automated snapshots of (selected parts of) the file system. You can roll back to a previous version of a file or directory, or just view it the way it was when the snapshot was taken.
It's also integrates into Nautilus, so you can go the properties page for a snapshot'ed file (right-click in Nautilus and choose properties), and see a 'Previous Versions' tab with a calendar on it.
I'm attaching a couple of screenshots to show you what it looks like, and I want to solicit feedback on what could be improved, and what the strong and weak points are - I would like to submit it to be included in Gusty (if I haven't missed the deadline) or Gusty+1, but since at this point it's easy to add features.
Also, I need to finalize the branding for it. Is TimeVault a good name? Any other suggestions.
Package is at:
https://launchpad.net/timevault/+download
P.S. Snapshots don't take up extra space (except for the initial backup) unless a file changes because of magical file-system stuff (hard-links).
Edit:
TimeVault has changed significantly in the past few weeks, so the above description and the attached screenshots may no longer be valid.
There are current screenshots and a change-list on the wiki: https://wiki.ubuntu.com/TimeVault
floke
June 15th, 2007, 04:05 PM
This looks amazing! From the Mac the only thing I envy is the time machine facility - I would love to be able to roll back stuff simply, and this looks like it's just the job! Haven just downloaded the latest version so haven't played with it yet - I notice though that it's set to automatically copy the home and etc directories - does this mean you could use it to take and restore snapshots of your whole system?
BTW: Its worth mentioning this here - from the docs on launchpad - for a quick start...
After installing the .deb file, there are two steps required to complete installation:
* You must select a backup directory from System->Administration->Manage Snapshots.
* You have to log out of and back into GNOME to have the Previous Versions option appear in file properties in Nautilus. Alternately, you can restart Nautilus from the command line: 'nautilus -q'.
Thanks, and I hope this gets in soon!
Oh - and TImeVault is a great name.
Bou
June 15th, 2007, 04:12 PM
Hi FryerFox,
It looks pretty damn exciting, but truth be told I can't do anything with it - the "previous versions" tabs does not appear.
How exactly is one supposed to use it?
floke
June 15th, 2007, 04:14 PM
Ok, one thing that occurs to me now - and doing my first backup - is that while I quite like seeing all the stuff fly across the terminal - this might not be the preference for many others. Perhaps in the advanced settings you could have a choice between 'terminal view' and 'standard view', where the latter would be an ubuntu boot-up type thing (line scanning across the screen or something) with a message saying the estimated length of time to go - don't know how hard this would be to do, and it's not a major thing - just presentational really.
floke
June 15th, 2007, 04:20 PM
Hi FryerFox,
It looks pretty damn exciting, but truth be told I can't do anything with it - the "previous versions" tabs does not appear.
How exactly is one supposed to use it?
I get this too. Just backed up /home and then altered some stuff - but can't find the previous versions tab anywhere...
FryerFox
June 15th, 2007, 04:23 PM
Try logging out and then log back in, or even better, restart nautilus:
nautilus -q
FryerFox
June 15th, 2007, 04:25 PM
Ok, one thing that occurs to me now - and doing my first backup - is that while I quite like seeing all the stuff fly across the terminal - this might not be the preference for many others. Perhaps in the advanced settings you could have a choice between 'terminal view' and 'standard view', where the latter would be an ubuntu boot-up type thing (line scanning across the screen or something) with a message saying the estimated length of time to go - don't know how hard this would be to do, and it's not a major thing - just presentational really.
It would be quite easy to hide the progress - as a matter of fact it actually took more effort to make it do that than just do it in the background. Perhaps a progress bar could substitute unless the user actually chooses Show Snapshot Details in Advanced.
Bou
June 15th, 2007, 04:26 PM
Try logging out and then log back in, or even better, restart nautilus:
Still no tab... maybe I'm just not doing it right, is the tab supposed to appear on every file and folder or just the ones that have been backed up?
FryerFox
June 15th, 2007, 04:50 PM
Has anyone got the Properties working?
I am assuming:
You're running either Gusty or Feisty
You're using the 0.2.1 version of the TimeVault .deb
You typed 'nautilus -q' in the terminal and saw no errors
Could someone check to see that you have the following file:
/usr/lib/nautilus/extensions-1.0/python/timevault-property-page.py
and that typing:
nautilus -q
in the terminal returns no errors
Bou
June 15th, 2007, 05:00 PM
FryerFox, I think it's not actually backing anything up. I get this error message when I launch it from the terminal and hit the "back up now" button:
(gnome-terminal:8047): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.
Might it be related? the destination directory seems to be empty. Folders are created alright, but no file stored in them.
By the way, I checked everything in your post and there doesn't seem to be anything wrong.
floke
June 15th, 2007, 05:00 PM
Oooooo - k - slight problem. I tried nautilus -q and restarted x for good luck (saw no errors) - but now I can't log back in since my disc is full! Have gone into edgy on another partition and have mounted feisty - have deleted as much stuff as I could - and its still full (and yes, I have emptied the trash!). Fortunately this is not a critical machine (my critical machine is currently upgrading to gutsy alpha). Any ideas what could have happened - I only had a couple of gigs or so left in that partition anyway, but I thought the magic filing system wouldn't take up any room?
Golyadkin
June 15th, 2007, 05:05 PM
I very much like this idea, but I won't use it untill it is really stable. Making important backups with beta software is a very weird situation :) I am going to test it with some bogus files though, to see how it goes, just not with important stuff yet. Keep it up!
floke
June 15th, 2007, 05:10 PM
Have just done a fresh reinstall of Feisty on another machine - and its taking up just over 2Gs - on the box where I ran the TimeVault backup (Feisty partition with a few updates and nothing else on it really) - its now using around 6Gs - v strange!
FryerFox
June 15th, 2007, 05:13 PM
Oooooo - k - slight problem. I tried nautilus -q and restarted x for good luck (saw no errors) - but now I can't log back in since my disc is full! Have gone into edgy on another partition and have mounted feisty - have deleted as much stuff as I could - and its still full (and yes, I have emptied the trash!). Fortunately this is not a critical machine (my critical machine is currently upgrading to gutsy alpha). Any ideas what could have happened - I only had a couple of gigs or so left in that partition anyway, but I thought the magic filing system wouldn't take up any room?
Have you freed up the space yet. If not, the backups are stored in /whateveryourbackuproot/internal/vault
The space taken is for the initial backup. The initial backup is taken so that if you store the backup partition on another drive, and you lose the first, you will still have the data along with the history. The 'deltas' are with respect to the initial backup.
Anyway, deleting /whateveryourbackuproot has no negative effect on the operation - it just assumes that there are no snapshots.
FryerFox
June 15th, 2007, 05:18 PM
Have just done a fresh reinstall of Feisty on another machine - and its taking up just over 2Gs - on the box where I ran the TimeVault backup (Feisty partition with a few updates and nothing else on it really) - its now using around 6Gs - v strange!
I can think of two reasons - one is that maybe the backup directory was included in the back up?
The other might be related to how size is reported vs. actual size on the drive (hardlinks don't actually take up space but sometimes report the size of the file they point to):
https://bugs.launchpad.net/timevault/+bug/120395
OK. I will implement the following this weekend to ensure that other's don't have the same problem:
Set a default minimum free space field in the Advanced options - if there is less than this much space, then refuse to snap-shot or delete old ones or something
Forbid copying the backup directory or any path that might include it
FryerFox
June 15th, 2007, 05:19 PM
I very much like this idea, but I won't use it untill it is really stable. Making important backups with beta software is a very weird situation :) I am going to test it with some bogus files though, to see how it goes, just not with important stuff yet. Keep it up!
I think you have the right attitude.
yelo3
June 15th, 2007, 06:07 PM
the nautilus extensions fails to start with this output:
(nautilus:16974): Nautilus-Python-WARNING **: g_module_open libpython failed: libpython2.5.so: No such file or directory
indeed it should load /usr/lib/libpython2.5.so.1 which is in the package python-2,5 in gutsy
floke
June 15th, 2007, 06:19 PM
I can think of two reasons - one is that maybe the backup directory was included in the back up?
The other might be related to how size is reported vs. actual size on the drive (hardlinks don't actually take up space but sometimes report the size of the file they point to):
https://bugs.launchpad.net/timevault/+bug/120395
OK. I will implement the following this weekend to ensure that other's don't have the same problem:
Set a default minimum free space field in the Advanced options - if there is less than this much space, then refuse to snap-shot or delete old ones or something
Forbid copying the backup directory or any path that might include it
I bork my partition for the greater good!
yelo3
June 15th, 2007, 06:26 PM
I've added two feature requests:
https://bugs.launchpad.net/timevault/+bug/120629
https://bugs.launchpad.net/timevault/+bug/120630
FryerFox
June 15th, 2007, 06:41 PM
the nautilus extensions fails to start with this output:
(nautilus:16974): Nautilus-Python-WARNING **: g_module_open libpython failed: libpython2.5.so: No such file or directory
indeed it should load /usr/lib/libpython2.5.so.1 which is in the package python-2,5 in gutsy
OK, Bou and I found out what the Nautilus problem was:
https://launchpad.net/ubuntu/+source/nautilus-python/+bug/44704
To work around this, install python-gobject-dev:
sudo apt-get install python-gobject-dev
And then restart nautilus:
nautilus -q
I have added python-gobject-dev as a dependency of 0.2.2 for now, and will remove it when the above bug is resolved in Gusty (it doesn't seem to happen in the current Feisty version).
Bou
June 15th, 2007, 07:05 PM
OK, Bou and I found out what the Nautilus problem
Nah, I just did as told. You found the problem.
I just did a mockup of how the versions tab could look like including the time of the backup... just because there is so much free space now. Please check the screenie.
thorwil
June 16th, 2007, 03:52 AM
Maybe a vertical list of versions with dates and exact time would be better? As in easier to scan and make sense of.
Regarding the name, check http://www.truetime.net/timevault.html
Bou
June 16th, 2007, 04:12 AM
Maybe a vertical list of versions with dates and exact time would be better?[/url]
Or alternatively, something like this:
http://img172.imageshack.us/img172/3295/screenshotdibuspropertinf2.png
Of course I don't even know if that would be possible.
Also, it would be great to have backup sets. I mean, there is a folder with important documents that you might want to backup everyday but you might want to back up other unimportant stuff every-not-so-often. Pybackpack does something similar, it lets you choose sets of files and folders that you want to backup.
mthakur2006
June 16th, 2007, 04:35 AM
that's great but how do you setup automated snapshots?
thanks.
FryerFox
June 16th, 2007, 09:19 AM
Regarding the name, check http://www.truetime.net/timevault.html
Yes, I found them also, but the products are in such different categories that I hope that there won't be such a big conflict. If there's an issue, then the official name can be TimeVault Snapshots and Backup, and just be called timevault for short.
FryerFox
June 16th, 2007, 09:42 AM
Maybe a vertical list of versions with dates and exact time would be better? As in easier to scan and make sense of.
Regarding the name, check http://www.truetime.net/timevault.html
Or alternatively, something like this:
http://img172.imageshack.us/img172/3295/screenshotdibuspropertinf2.png
Of course I don't even know if that would be possible.
backup.
Thanks for the mock-up, Bou. If you guys feel up to it, how about drafting GUI and UI blueprints on:
https://blueprints.launchpad.net/timevault
But you don't really need to unless you feel like it since I know where you're going with this.
At first, it was a vertical list, but I thought a calendar would be more aesthetically pleasing. I knew I would have to combine both if there was more than one snapshot in a day so I chose the easiest method to get it out quickly.
It's difficult to list what was added and removed for a particular snapshot with respect to another arbitrary snapshot (well, it's actually very easy, but you don't want the computer crunching numbers for 2 minutes every time you want you see a previous version). But it is much easier to catch a specific file change.
Also it's not so hard to do it for a specific snapshot with respect to the last. This might get tricky if you have what Bou called 'backup sets'. I have to think about this a little.
I had plans to do the following:
- Add a 'Show unique versions' checkbox in the previous versions dialog, which only lists dates on which the file changed.
- Add a previous and next button to the previous versions browser so that it can take the user to the last or next month in which the file changed.
dustigroove
June 16th, 2007, 09:51 AM
This looks incredibly promising. I will definitely be keeping an eye out and hopefully once my disruption around the house subsides, will get a chance to play and offer feedback.
Cheers
FryerFox
June 16th, 2007, 09:52 AM
that's great but how do you setup automated snapshots?
thanks.
You check the 'Enable Automated Snapshots' checkbox. It adds the file /etc/cron.d/timevault which has the following line.
30 1 * * * root /usr/bin/timevault/timevault_take_snapshot
This means run timevault_take_snapshot as root every night at 01:30 AM. (This file won't exist until the first time you run the Admin prog.)
The reason there's not a lot of configuration in the Management program is that it's supposed to be simple. As simple as humanly possible. Now, if we're going to add 'backup sets', where some directories are snapshotted more frequently than others, and so on, then we're obviously getting more complicated. That's why there's an Advanced tab as a place holder for more complex stuff which will be sensibly defaulted.
FryerFox
June 16th, 2007, 10:09 AM
Just an update on the progress made on some suggestions or ideas that came from this forum.
Before I start adding features, I would like to stabilize TimeVault so it does what it claims to do in a bullet-proof manner.
Since yesterday, I've added the following stability-enhancing (I believe) features:
It's now impossible to backup the backups
The extra space required by a sync is now precalculated (so I can implement the next item)
There is a new 'minimum free space', where you can reserve some amount of space (i.e. 1GB) on the backup drive which will not be overwritten.
Add a 'max-size' option so that files can be excluded based on size (e.g. >32MB)
What will happen now if you don't have enough space is that no snapshot will be made. Another possibility is removing old snapshots.
I have yet to figure out how this information gets to the correct user since he or she may not be at the computer at the time (i.e. if it happens in the middle of the night), or a user other than the superuser may be logged in.
Anyway, no UI is available for setting them, but I'll post timevault-0.3.0 as soon as that's done (I will be bumping the middle number for new features, and bumping the last number for bug-fixes within a rev. - also, it doesn't automatically roll over to v1.0.x when you go past 0.9.x).
mthakur2006
June 16th, 2007, 12:31 PM
You check the 'Enable Automated Snapshots' checkbox. It adds the file /etc/cron.d/timevault which has the following line.
30 1 * * * root /usr/bin/timevault/timevault_take_snapshot
This means run timevault_take_snapshot as root every night at 01:30 AM. (This file won't exist until the first time you run the Admin prog.)
The reason there's not a lot of configuration in the Management program is that it's supposed to be simple. As simple as humanly possible. Now, if we're going to add 'backup sets', where some directories are snapshotted more frequently than others, and so on, then we're obviously getting more complicated. That's why there's an Advanced tab as a place holder for more complex stuff which will be sensibly defaulted.
cool, but what if my computer is switched off at that time? Also, I have a laptop, will that make any difference?
Cheers.
kripkenstein
June 16th, 2007, 01:23 PM
Heh, just last week I started to work on a project with similar goals to TimeVault, how ironic... :)
My goals are slightly different than TimeVault, however, so I don't think I'll abandon my project just yet, even though TimeVault does seem like it is off to an impressive start.
One question: I don't see a link to the code, and I'm curious: what is TimeVault developed in? (I am using Python for my project, btw, and Subversion for the actual revision storing.)
pagaboy
June 16th, 2007, 04:05 PM
I think this looks fantastic. I wonder if you'd thought a bit about how this could develop in a multiuser environment? Could this be generalised for document collaboration?
FryerFox
June 16th, 2007, 05:49 PM
cool, but what if my computer is switched off at that time? Also, I have a laptop, will that make any difference?
Cheers.
CRON will not run when a laptop is off, ANACRON does queue jobs up, but it's probably not a good idea to do that for this app since you might boot up and then have a number of sync jobs running one after the other bogging your machine down.
Using ANACRON might be more usable when I add the backup-sets option, since I will be looking at the last time a snapshot was run to decide whether to run or not. TimeVault could probably wait some respectable time and then pop up a notification requesting permission to run. If it get no answer in 15 seconds, then it can go ahead and do its thing.
FryerFox
June 16th, 2007, 05:52 PM
Heh, just last week I started to work on a project with similar goals to TimeVault, how ironic... :)
Yes, I saw that from my hidden camera feed ;)
My goals are slightly different than TimeVault, however, so I don't think I'll abandon my project just yet, even though TimeVault does seem like it is off to an impressive start.
One question: I don't see a link to the code, and I'm curious: what is TimeVault developed in? (I am using Python for my project, btw, and Subversion for the actual revision storing.)
It's written in Python (even though my main programming language at work is C++).
I don't have the code up, mainly because I haven't figured out how to use Launchpad (anyone pointing to a helpful tutorial would be appreciated). But the DEB is up and if you open it in Archive Manager, you can view the code. If you have it installed, all the code is in /usr/bin/timevault
FryerFox
June 16th, 2007, 06:00 PM
I think this looks fantastic. I wonder if you'd thought a bit about how this could develop in a multiuser environment? Could this be generalised for document collaboration?
I have thought about it but I don't think it would be appropriate for collaboration. When I was considering what application (that was within my reach) that I wanted to code up, one of them was a document collaboration one. It would have used the inotify interface in the kernel (like Beagle and Tracker) to monitor files or directories. If a watched file changed it would rsync or unison it to the subscribed server. The server would have a list of subscribed clients and it would push the document out to them.
There are problems with this way of doing it since it's possible that someone is in the process of currently editing a document when this happens, so you have to figure out how to merge arbitrary documents (easy for text, not so much for graphics). Anyway, long story short, I ended up doing TimeVault instead.
WRT multi-user, I am looking at the scenario where someone has many computers in their home or work, and they want to sync to a main server. This is a little hard (mainly because of the Previous Versions dialog), but definitely not impossible. I think it's a bit much right now though, at least until I (and others) am/are happy with the basic operation of this rev.
FryerFox
June 16th, 2007, 06:05 PM
A graphics artist friend made me an icon for TimeVault.
Currently, it uses a stock rewind button (which, incidentally, was also his idea). His is a mobeus strip. Both are attached below.
Any preferences?
Also, version 0.3.0 is up. It has the new date/time picker, and space-reservation and max-file-size options:
https://launchpad.net/timevault/+download
Golyadkin
June 16th, 2007, 06:22 PM
I really like the Moebius strip icon. The shape is great, but the colors are a bit dark. Would look great if it were a bit more bright, fresh and lively.
Bou
June 17th, 2007, 02:29 AM
I really like the Moebius strip icon. The shape is great, but the colors are a bit dark. Would look great if it were a bit more bright, fresh and lively.
Yup. And maybe following the Tango guidelines would be a good idea too, most apps do nowadays.
floke
June 17th, 2007, 03:02 AM
Personally prefer the rewind buttons - the strip bears no relation to the function of the app.
kripkenstein
June 17th, 2007, 05:51 AM
It's written in Python (even though my main programming language at work is C++).
I don't have the code up, mainly because I haven't figured out how to use Launchpad (anyone pointing to a helpful tutorial would be appreciated). But the DEB is up and if you open it in Archive Manager, you can view the code. If you have it installed, all the code is in /usr/bin/timevault
Interesting, we are both using Python. Well, since our apps are somewhat similar, perhaps we could collaborate at some point. (I don't have anything concrete to suggest; just something to keep in mind I guess.)
Anyhow, you forced me to release a version of my app sooner than I intended ;), I just posted a thread to the main cafe about my app. (I won't post a link here since that seems like it might be seen as disrespectful.)
Golyadkin
June 17th, 2007, 06:28 AM
The concept of time as a dimension and the strip are very closely related. However, this may not be apparent to the average user.
dustigroove
June 17th, 2007, 09:14 AM
I think that the use of a mobius loop works well in this case, and as evidenced in other uses (http://co.humboldt.ca.us/health/envhealth/iwm/images/recycle.jpg), often relates to a time or restoration concept. However I would have to agree with Golyadkin's observation that the colors are a might bit dark and could use some livening up. Additionally it is very flat and would look a bit sore and out of place in a menu next to other current application icons which typically have more color and depth.
The suggestion for your friend to perhaps review the Tango icon theme guidelines (http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines) and present a revised version may help towards a more refined and recognizable end product.
EDIT: I have come across this icon (http://www.decimus.net/images/SynkBackup128.png) which seems to suite the concept well. The orbital arrows representing the action performed, and the drive representing the object impacted. Perhaps in this case a folder icon combined with the mobius strip, or similarly suited loop, would adequately represent the aim of the product? Wish I had more than an eye for graphics design, or I would lend a hand rather than just observation.
A graphics artist friend made me an icon for TimeVault.
Currently, it uses a stock rewind button (which, incidentally, was also his idea). His is a mobeus strip. Both are attached below.
Any preferences
FryerFox
June 17th, 2007, 11:03 AM
I think that the use of a mobius loop works well in this case, and as evidenced in other uses (http://co.humboldt.ca.us/health/envhealth/iwm/images/recycle.jpg), often relates to a time or restoration concept. However I would have to agree with Golyadkin's observation that the colors are a might bit dark and could use some livening up. Additionally it is very flat and would look a bit sore and out of place in a menu next to other current application icons which typically have more color and depth.
The suggestion for your friend to perhaps review the Tango icon theme guidelines (http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines) and present a revised version may help towards a more refined and recognizable end product.
EDIT: I have come across this icon (http://www.decimus.net/images/SynkBackup128.png) which seems to suite the concept well. The orbital arrows representing the action performed, and the drive representing the object impacted. Perhaps in this case a folder icon combined with the mobius strip, or similarly suited loop, would adequately represent the aim of the product? Wish I had more than an eye for graphics design, or I would lend a hand rather than just observation.
Thanks. I will talk to him about it and point him to your post.
In general, it looks like most people favor the mobeus, so I'll ask him if he can take your suggestions and work them in.
FryerFox
June 17th, 2007, 11:12 AM
Interesting, we are both using Python. Well, since our apps are somewhat similar, perhaps we could collaborate at some point. (I don't have anything concrete to suggest; just something to keep in mind I guess.)
Anyhow, you forced me to release a version of my app sooner than I intended ;), I just posted a thread to the main cafe about my app. (I won't post a link here since that seems like it might be seen as disrespectful.)
I appreciate the regard you are showing.
It seems like there are already many people subscribed to this thread who have an interest in backups and revision control and I think that the many-eyes and release-early-release-often paradigms work well in open-source.
Also, I can tell you that I've had a chance to improve my app significantly from this thread alone. So post the link already! ;)
kripkenstein
June 17th, 2007, 01:31 PM
So post the link already! ;)
Ok, here is the thread I posted to the cafe. It has the relevant links, screenshots, etc.: thread about personal versioning manager (http://ubuntuforums.org/showthread.php?t=476325).
As I say in the thread there, any feedback is welcome :)
floke
June 17th, 2007, 03:10 PM
Ok so the mobo thing is probably better, given the explanations above
Got my Feisty working again - I must have deleted the snapshots directory as root since it was sitting in the root trash - so removed it and all's good :D
Now - need to try this again...
risbac
June 18th, 2007, 11:55 AM
A stupid question probably: I see that you are using CRON and ANACRON for the backup. I don't understand why you would have to use a scheduled task to backup the documents. To me, it should backup the previous version of the file as soon as you save a new version. But I guess I did miss something?
Also it's not clear to me if you have to create an initial backup with ALL the files ? I have already a backup of my data on a dedicated harddrive, and I don't have enough free space to create another backup. Is it possible not to create a full initial backup but to backup only new versions of the files?
Very promising project anyway!
thorwil
June 18th, 2007, 12:26 PM
It would be nice to have an emblem on managed files / folders. So the general icon should work in such a context, too.
idn
June 18th, 2007, 12:40 PM
This looks like a great piece of software, good work!
Bluecircle
June 18th, 2007, 02:17 PM
This looks awesome. Windows has something similar to this. It's great if you screw something else and need your system to be just like it was yesterday.
thorwil
June 18th, 2007, 03:53 PM
I made concepts for an icon that works on small scale, so it can be used as emblem, too. 16px is hard already.
http://thorwil.files.wordpress.com/2007/06/versioning_01.png
FryerFox
June 18th, 2007, 04:49 PM
A stupid question probably: I see that you are using CRON and ANACRON for the backup. I don't understand why you would have to use a scheduled task to backup the documents. To me, it should backup the previous version of the file as soon as you save a new version. But I guess I did miss something?
Also it's not clear to me if you have to create an initial backup with ALL the files ? I have already a backup of my data on a dedicated harddrive, and I don't have enough free space to create another backup. Is it possible not to create a full initial backup but to backup only new versions of the files?
Very promising project anyway!
It doesn't take a snapshot every time a file changes since that might exclude it from certain types of uses (for example snapshotting anything with constantly changing files like logs, etc.) Also, when I am working on a file, I probably hit ctrl-s a hundred times an hour - it's pretty much subconscious.
Unfortunately, you do have to create a total new backup as a base to compare against - I thought about how to get around this for a little but there are benefits to having the whole of the snapshot info within a particular path. For example, in a multi-hard-drive scenario, if the snapshots are stored on a separate drive, and one fails, you still have the other. On the other hand, it there was no base snapshot and only the deltas were saved, if the data drive fails, you only have copies of the changes.
It's still a work in progress and I am trying to incorporate as many suggestions as possible without transforming it into an application with a completely different purpose. But I appreciate the suggestions - keep them coming :).
Also, I would suggest that people only snapshot directories that are important to them (such as /etc for config information, and your document directories in /home/../), since saving snapshot information on media folders, etc., could suck up drive space very quickly.
I'm currently trying to get something going where you can back up some directories at a different rate from others. This might also help with some usage scenarios.
FryerFox
June 18th, 2007, 05:15 PM
I made concepts for an icon that works on small scale, so it can be used as emblem, too. 16px is hard already.
http://thorwil.files.wordpress.com/2007/06/versioning_01.png
Looks cool. I will look into setting and unsetting metadata on GNOME (ideas anyone?). Do you think that every snapshotted directory or file needs one, or only the root folders?
jsmidt
June 18th, 2007, 05:37 PM
Ubuntu *needs* something like this, especially for the next LTS release. Please include this in gutsy at least in universe, and push for it in main by the next LTS.
smbm
June 18th, 2007, 06:20 PM
Looks cool. I will look into setting and unsetting metadata on GNOME (ideas anyone?). Do you think that every snapshotted directory or file needs one, or only the root folders?
I'd be tempted to default it to all. If I Timevaulted ~ I probably wouldn't see the emblem because I would very rarely look at it from /home. It could look quite cluttered though so there should be an option to turn it off, or to be displayed on less items perhaps.
Perhaps you could have an option to change the background on Nautilus for Timevaulted folders and just have the emblem for individual files that are not in Timevaulted folders.
That might not have been very clear, I know what I mean though, I can clarify if you need me to.
Cheers
dafrabbit
June 18th, 2007, 06:40 PM
Just curious, and I haven't read through all these replies yet, so if this is a double post...sorry.
The biggest problem with backups in my opinion is that say you have accidentally deleted file X from folder Y. With TimeVault is it possible to pick and choose what files you want to restore from a folder? For example, can I restore X and ONLY X? Because I might have other files A, B, and C which I've worked with since the last backup containing X, so I definitely don't want to just backup folder Y all the way back to the point where file X existed! I know that Apple's TimeMachine has this, and most intelligent folder sync software has this feature, but what about TimeVault?
FryerFox
June 18th, 2007, 07:59 PM
Just curious, and I haven't read through all these replies yet, so if this is a double post...sorry.
The biggest problem with backups in my opinion is that say you have accidentally deleted file X from folder Y. With TimeVault is it possible to pick and choose what files you want to restore from a folder? For example, can I restore X and ONLY X? Because I might have other files A, B, and C which I've worked with since the last backup containing X, so I definitely don't want to just backup folder Y all the way back to the point where file X existed! I know that Apple's TimeMachine has this, and most intelligent folder sync software has this feature, but what about TimeVault?
Yes, you can restore single files or folders, and by default, it restores it to originalFileOrDirectoryName.timeStamp. So unless to explicitly change the name back to the original, you will not overwrite it.
FryerFox
June 18th, 2007, 08:11 PM
I'd be tempted to default it to all. If I Timevaulted ~ I probably wouldn't see the emblem because I would very rarely look at it from /home. It could look quite cluttered though so there should be an option to turn it off, or to be displayed on less items perhaps.
Perhaps you could have an option to change the background on Nautilus for Timevaulted folders and just have the emblem for individual files that are not in Timevaulted folders.
That might not have been very clear, I know what I mean though, I can clarify if you need me to.
Cheers
I know what you mean. I'm working on something else that might make this unnecessary. I didn't really want to show it yet, though, because it's not ready and won't be until timevault-0.3. Basically, after passing ideas back and forth with xerosis (irc.freenode.net nick, can't remember the forum nick), I'm going to try very hard to integrate TimeVault into Nautilus as a button that appears in TimeVaulted folders (I like the way you made TimeVault into a verb, and I'm going to start doing that too now :p). Attached is a screenshot of what my Nautilus looks like (notice the arrow on the right - waiting on the improved mobeus which should be much more colorful).
I'm going to start serious development on v. 0.3 as soon as enough people tell me that they have actually used it and it's good enough (meaning stable) to move on to more major development.
KillerKiwi
June 18th, 2007, 09:55 PM
What does browsing the backups look like?
Do you use nautilus still?
thorwil
June 19th, 2007, 03:46 AM
I'd be tempted to default it to all. If I Timevaulted ~ I probably wouldn't see the emblem because I would very rarely look at it from /home. It could look quite cluttered though so there should be an option to turn it off, or to be displayed on less items perhaps.
Perhaps you could have an option to change the background on Nautilus for Timevaulted folders and just have the emblem for individual files that are not in Timevaulted folders.
I agree. A TimeVault button and a different background might be best for when you are in a managed folder. Only managed files and folders shown inside unmanaged folders would need the emblem, then.
Ooh, and my hope was you would pick one of my concepts so I can continue with it. If you prefer rewind or the moebius strip even for an emblem, that's fine, just say so, please :)
risbac
June 19th, 2007, 04:33 AM
It doesn't take a snapshot every time a file changes since that might exclude it from certain types of uses (for example snapshotting anything with constantly changing files like logs, etc.) Also, when I am working on a file, I probably hit ctrl-s a hundred times an hour - it's pretty much subconscious.
Yes, I see what you mean... It's difficult to know when to save the previous version. Complicated problem to solve :)
For example, in a multi-hard-drive scenario, if the snapshots are stored on a separate drive, and one fails, you still have the other. On the other hand, it there was no base snapshot and only the deltas were saved, if the data drive fails, you only have copies of the changes.
It makes sense... As long as you can put the backups on whatever disk you want, it's fine. However, consider my situation: I use an external USB harddrive to backup my system. If I travel and need a lot of data, I will carry the disk with me, so backup can't be made, but it doesn't really matter as the computer won't work that much. In this case, the backup system needs to be able to see that the drive is not here anymore and cancel the backup until I'm back. I know it's a bit complicated, but I just give you another "real life" situation :)
smbm
June 19th, 2007, 05:19 AM
I'm going to start serious development on v. 0.3 as soon as enough people tell me that they have actually used it and it's good enough (meaning stable) to move on to more major development.
I'll give it a blast when I get home from work.
FryerFox
June 19th, 2007, 08:23 AM
What does browsing the backups look like?
Do you use nautilus still?
Sort of. You should give it a shot to see. But basically, you can browse a snapshot by double-clicking on a date and time from the calendar. If it's a file, the file is opened, if it's a directory, it opens in Nautilus.
FryerFox
June 19th, 2007, 08:30 AM
It makes sense... As long as you can put the backups on whatever disk you want, it's fine. However, consider my situation: I use an external USB harddrive to backup my system. If I travel and need a lot of data, I will carry the disk with me, so backup can't be made, but it doesn't really matter as the computer won't work that much. In this case, the backup system needs to be able to see that the drive is not here anymore and cancel the backup until I'm back. I know it's a bit complicated, but I just give you another "real life" situation :)
It should work properly in that scenario. By properly, I mean fail on the snapshot, not gum up the directory structure with files all over the place if it can't find the drive, and not assume that a backup was taken. However, now that you point that scenario out, I can add a check right at the beginning to ensure that the drive is still there, and that'll save it harddrive churning as it gets ready for the snapshot.
The reason I can be confident in answering this question is that I went to some lengths to make sure that snapshots are stateless (i.e. there is no index file, etc.) so deleting a snapshot manually is equivalent to going through the correct channels and deleting it via the management console. Deleting inside a snapshot will still work fine - it will just look like a partial snapshot and the appropriate date/time will no longer appear on the calendar for that file/dir, but the rest of the snapshot will be fine.
oskarloko
June 19th, 2007, 08:37 AM
Well, when I saw this first time, I thougth It was using ext3cow
http://www.ext3cow.com/
I see it's more like a personal backup manager than a filesystem enhacement.
Don't misunderstand me: I see it ok, I think Gutsy will be more interesting with this option.
¿ Will it be also for K/X Ubuntu ?
FryerFox
June 19th, 2007, 08:39 AM
I agree. A TimeVault button and a different background might be best for when you are in a managed folder. Only managed files and folders shown inside unmanaged folders would need the emblem, then.
Ooh, and my hope was you would pick one of my concepts so I can continue with it. If you prefer rewind or the moebius strip even for an emblem, that's fine, just say so, please :)
I think we're going with the mobeus emblem. I really like the clocks, though. Nice clear concept.
The problem with artwork vs. code and other kinds of help is that one person has to be completely in charge of picking the logo, palates, and general look and feel. For TimeVault, I already asked someone else to do it, and he provided the mobeus SVG and different sizes of icons (like an itty-bitty 14x14 mobeus). So, it wouldn't be right if I discarded his work, so let me talk to him about it today and see if you guys can collaborate.
I really appreciate your proactive and productive attitude.
KillerKiwi
June 19th, 2007, 08:13 PM
Sort of. You should give it a shot to see. But basically, you can browse a snapshot by double-clicking on a date and time from the calendar. If it's a file, the file is opened, if it's a directory, it opens in Nautilus.
If its a "backup" folder could you add the bars like nautilus burn/search you could make the button say "Restore"
Cheers this (the backup application) is a much needed feature
FryerFox
June 19th, 2007, 09:58 PM
Well, when I saw this first time, I thougth It was using ext3cow
http://www.ext3cow.com/
I see it's more like a personal backup manager than a filesystem enhacement.
Don't misunderstand me: I see it ok, I think Gutsy will be more interesting with this option.
¿ Will it be also for K/X Ubuntu ?
For ext3cow, there's Time-Traveling Filemanager:
http://www.sandeepranade.com/html/ComputerScience/time-travelling-file-manager.html
It looks really cool, but I believe you have to custom-compile ext3cow into a 2.6.20 kernel, and you have to snapshot the whole filesystem with ext3cow. Also, you don't have the option of deciding where the snapshots reside, so it's not really suitable for backing up to a separate drive. But I thought ext3cow was very clever when I read about it.
FryerFox
June 19th, 2007, 10:27 PM
If its a "backup" folder could you add the bars like nautilus burn/search you could make the button say "Restore"
Cheers this (the backup application) is a much needed feature
Thanks. :)
Could you elaborate on the bars? Do you mean the custom paths (like burn:/// or network:///)?
smartboyathome
June 19th, 2007, 10:37 PM
How would I backup something? I tried looking in Permissions in Nautilus, and the Timevault tab wasn't there.
FryerFox
June 19th, 2007, 11:10 PM
How would I backup something? I tried looking in Permissions in Nautilus, and the Timevault tab wasn't there.
Go to System->Administration->Manage Snapshots
Also, see docs for more info:
https://launchpadlibrarian.net/8078231/docs.html
smartboyathome
June 19th, 2007, 11:43 PM
Go to System->Administration->Manage Snapshots
Also, see docs for more info:
https://launchpadlibrarian.net/8078231/docs.html
Oh!!! Thanks!!! How would I make it backup the entire system though? Would I have to select the folders individually? Also, there should be a way to change the folder it defaults to. Right now it is defaulting to the timevault usr folder. I would like it to default to the / folder.
david_edmundson
June 20th, 2007, 08:06 AM
The concept is good, though (IMHO) it needs to work at a much lower level. See http://ext3cow.com/
It would be awesome if I could just select in Grub "My Entire Linux box as of last week".
Also (again just me throwing out ideas) would be for it to be a KIO slave. That way any KDE App could just move back and forth in time from within the open dialogue without the application having to change anything.
FryerFox
June 20th, 2007, 09:41 AM
Oh!!! Thanks!!! How would I make it backup the entire system though? Would I have to select the folders individually? Also, there should be a way to change the folder it defaults to. Right now it is defaulting to the timevault usr folder. I would like it to default to the / folder.
Unfortunately, TimeVault is not suitable for backing up whole filesystems (see http://ubuntuforums.org/showpost.php?p=2869481&postcount=52 ). It's a snapshot application, not really a bare-metal recovery tool.
I will definitely look into it defaulting to a more reasonable path, though.
FryerFox
June 20th, 2007, 09:50 AM
The concept is good, though (IMHO) it needs to work at a much lower level. See http://ext3cow.com/
It would be awesome if I could just select in Grub "My Entire Linux box as of last week".
Also (again just me throwing out ideas) would be for it to be a KIO slave. That way any KDE App could just move back and forth in time from within the open dialogue without the application having to change anything.
See this post:
http://ubuntuforums.org/showpost.php?p=2877648&postcount=68
The only problems I see with ext3cow is that it takes a custom kernel and requires snapshots of the whole filesystem every time. But, I do think it's an excellent project, especially with the block-level (COW) resolution.
zekopeko
June 20th, 2007, 01:52 PM
if we only had ZFS.....
leibowitz
June 20th, 2007, 02:51 PM
http://zfs-on-fuse.blogspot.com/
zekopeko
June 20th, 2007, 03:20 PM
http://zfs-on-fuse.blogspot.com/
the point is that we can't get it in the kernel
TheVault
June 20th, 2007, 03:26 PM
I like the idea of going back and getting files & things. This should be in Gutsy!
leibowitz
June 20th, 2007, 06:00 PM
the point is that we can't get it in the kernel
That's no more a problem, they say. Just check what ntfs-3g did, in fuse. So they hope to optimize zfs-on-fuse to get more speed. And that's what they are working at right now, because zfs-on-fuse is already done. (That's recent)
RAOF
June 20th, 2007, 09:37 PM
The concept is good, though (IMHO) it needs to work at a much lower level. See http://ext3cow.com/
It would be awesome if I could just select in Grub "My Entire Linux box as of last week".
...
If you want something like that, but stable and in Ubuntu by default, LVM offers a snapshot capability. It's not quite copy-on-write, but it's filesystem agnostic (it's one layer down again), and you could make it automatically create a snapshot each day.
EDIT: Having just read the ext3cow page, LVM snapshots are very nearly identical. The difference being that you don't get to reference them in the normal filesystem with /path/to/file@epochnumber. Rather, you mount them (on, say, /media/root-as-of-yesterday)
FryerFox
June 20th, 2007, 10:23 PM
If you want something like tha...
I'm responding to your title, not your message. ;)
As an Ubuntu Developer, what do you think the chances are of getting this into the repositories? And what would the next step be?
There are a number of enhancements I should have in there within the next week or two (basically much tighter integration into Nautilus). But if there is a strong possibility for inclusion, I could try to step up development and testing.
KillerKiwi
June 21st, 2007, 12:11 AM
Thanks. :)
Could you elaborate on the bars? Do you mean the custom paths (like burn:/// or network:///)?
Yes, A better example was probably trash, see the orange bar across the top with an "empty trash" button
http://img232.imageshack.us/img232/7563/screenshotlp1.th.png (http://img232.imageshack.us/my.php?image=screenshotlp1.png)
RAOF
June 21st, 2007, 05:13 AM
...
As an Ubuntu Developer, what do you think the chances are of getting this into the repositories? And what would the next step be?
There are a number of enhancements I should have in there within the next week or two (basically much tighter integration into Nautilus). But if there is a strong possibility for inclusion, I could try to step up development and testing.
There's still plenty of time to get this into Universe, if you want, and it's fantastically easy for non-developers to get packages they've built into Universe, which is community maintained anyway. As you can see from the release schedule (https://wiki.ubuntu.com/GutsyReleaseSchedule?highlight=%28gutsy%29%7C%28re lease%29), new packages can make it into Universe up until the 30th of August (NewPackagesUniverseFreeze).
If you want help packaging this up, feel free to drop by #ubuntu-motu on Freenode. Alternatively, check out https://wiki.ubuntu.com/MOTU/Packages/New . At worst, I could package it up for REVU & inclusion in Universe, but I can't guarantee that I'd get time to work on it - I recommend trying yourself, we won't bite :)
risbac
June 21st, 2007, 05:41 AM
About the cron stuff... I tried to think it over and over again, and between the "create a backup for each save" and "run a cron every night to find the new files", there might be an intermediate solution avoiding to scan the whole file system or to eat all your harddrive space with every single version:
what if we create a setting called "backup precision", that every user could set according to his need and harddrive capability?
Something like:
-Very precise backup (needs lots of space)
-Precise
-Average
-Low precision (needs few space)
You just move a slider to change the setting. It will just define a duration. Very precise could be 5 minutes, low 2 hours.
Then when you modify a file, TimeVault will check the modification date of the previous version. If the difference between the current time and this date is higher than the "backup precision" setting, it will create a backup (just like if it means "ok, the latest backup is quite far away in time, I can consider it's a new version, I will save it). If not, it will delete the previous backup, and save the new one (meaning "latest backup is near in the past, it's probably a working version, let's replace it with the newest one").
I see several advantages with this. First you don't rely on a cron or anacron job that will maybe eat some ressources when you don't want it. Then it's safer, you don't have to wait for the cron job to have your backup, you can always be sure you have the newest version saved. Finally it offers some flexibility. You work on very important documents, you have a huge hard drive and you want them to versioned often? Then you set it to 5 minutes. You have an old computer with a small harddrive, but yet you would like to have some backup? Set it to 2 hours or even more.
We could even set a global value, and then offer the possibility to set a different one per directory or per file type.
Is this idea stupid or possible?
zekopeko
June 21st, 2007, 06:36 AM
i have a question:
if i set my ext3 fs with the option "noatime" (i think it has something to do with time stamping the files when they were last accessed but i'm not sure if it has anything to do with theme being modified ) will this affect timevault?
FryerFox
June 21st, 2007, 08:47 AM
i have a question:
if i set my ext3 fs with the option "noatime" (i think it has something to do with time stamping the files when they were last accessed but i'm not sure if it has anything to do with theme being modified ) will this affect timevault?
I don't know, so I did a test:
echo "hello" > first
touch -t 06212007 first
rsync first second
cat second
echo "hello there" > first
touch -t 06212007 first
rsync first second
cat second
The second time I 'cat second', the file contains 'hello there', so it looks like it should work with noatime.
FryerFox
June 21st, 2007, 08:57 AM
About the cron stuff... I tried to think it over and over again, and between the "create a backup for each save" and "run a cron every night to find the new files", there might be an intermediate solution avoiding to scan the whole file system or to eat all your harddrive space with every single version:
what if we create a setting called "backup precision", that every user could set according to his need and harddrive capability?
Something like:
-Very precise backup (needs lots of space)
-Precise
-Average
-Low precision (needs few space)
You just move a slider to change the setting. It will just define a duration. Very precise could be 5 minutes, low 2 hours.
Then when you modify a file, TimeVault will check the modification date of the previous version. If the difference between the current time and this date is higher than the "backup precision" setting, it will create a backup (just like if it means "ok, the latest backup is quite far away in time, I can consider it's a new version, I will save it). If not, it will delete the previous backup, and save the new one (meaning "latest backup is near in the past, it's probably a working version, let's replace it with the newest one").
I see several advantages with this. First you don't rely on a cron or anacron job that will maybe eat some ressources when you don't want it. Then it's safer, you don't have to wait for the cron job to have your backup, you can always be sure you have the newest version saved. Finally it offers some flexibility. You work on very important documents, you have a huge hard drive and you want them to versioned often? Then you set it to 5 minutes. You have an old computer with a small harddrive, but yet you would like to have some backup? Set it to 2 hours or even more.
We could even set a global value, and then offer the possibility to set a different one per directory or per file type.
Is this idea stupid or possible?
This is a clever idea. There may be no need to wait until backup time to keep the current version synchronized. Problems arise when trying to time-stamp the snapshot (long times for cp -al if there are a lot of files and directories).
Rather than write a long post about the issue here, how about we start a Wiki page, where we can discuss different approaches to backing up. For example, building on your idea, how about creating a hot-list of files/directories, where inotify is used to monitor for changes, and then if there are no changes for some time (user-defined: 1 min - 1 day), a snapshot is taken.
Does anyone know if Launchpad has a wiki (I can't find one at the moment).
thorwil
June 21st, 2007, 09:09 AM
The Ubuntu blueprints have their specifications on https://wiki.ubuntu.com/
This is ... interesting: https://blueprints.launchpad.net/projects/?text=backup&x=0&y=0 :)
FryerFox
June 21st, 2007, 09:09 AM
There's still plenty of time to get this into Universe, if you want, and it's fantastically easy for non-developers to get packages they've built into Universe, which is community maintained anyway. As you can see from the release schedule (https://wiki.ubuntu.com/GutsyReleaseSchedule?highlight=%28gutsy%29%7C%28re lease%29), new packages can make it into Universe up until the 30th of August (NewPackagesUniverseFreeze).
If you want help packaging this up, feel free to drop by #ubuntu-motu on Freenode. Alternatively, check out https://wiki.ubuntu.com/MOTU/Packages/New . At worst, I could package it up for REVU & inclusion in Universe, but I can't guarantee that I'd get time to work on it - I recommend trying yourself, we won't bite :)
Thanks, I appreciate the offer of help - I'll try to go it on my own and visit #ubuntu-motu as needed.
I'll go through https://wiki.ubuntu.com/MOTU/Packages/New and see what exactly is needed for a python app like TimeVault. I have seen howtos on making a deb using all sorts of tools, but currently, I'm just doing it manually with a makedeb.sh script that puts the files in the correct subdirs and the runs dpkg --build. I get the impression that I need to revisit my build system at some point to make it more compatible.
zekopeko
June 21st, 2007, 10:34 AM
concerning integration with nautilus:
how about something like this
http://img355.imageshack.us/img355/7254/blajh0.th.png (http://img355.imageshack.us/my.php?image=blajh0.png)
this way we could slide through the folder over time and see what changes we have made over time. please do refine the idea if you like it. i just wanted to make it more like apple's timemachine.
FryerFox
June 21st, 2007, 12:36 PM
concerning integration with nautilus:
how about something like this
http://img355.imageshack.us/img355/7254/blajh0.th.png (http://img355.imageshack.us/my.php?image=blajh0.png)
this way we could slide through the folder over time and see what changes we have made over time. please do refine the idea if you like it. i just wanted to make it more like apple's timemachine.
That would be very cool. But I think you have to write a C-plugin for Nautilus to do that (and possibly compile a customized Nautilus which includes the plugin).
I'm not afraid of C, but making a custom Nautilus right now is a bit too much for me. Perhaps if TimeVault takes of and gets thousands of users. :p
FryerFox
June 21st, 2007, 12:48 PM
The Ubuntu blueprints have their specifications on https://wiki.ubuntu.com/
This is ... interesting: https://blueprints.launchpad.net/projects/?text=backup&x=0&y=0 :)
Thanks:
https://wiki.ubuntu.com/TimeVault
You guys add to is as you see fit.
Thorwil, Remember the emblems you posted a few days back. I have added emblems to the Nautilus plugin. A clock (specifically, the 'urgent' emblem) is shown on the root backup folders. When inside a backup folder (or deeper down), a TimeVault button appears on the menu bar. Clicking it brings up the calendar.
I would love to integrate some of the emblems you posted, but I don't know where to put them to get them to appear in the emblems tab under properties. When programmatically setting an emblem, you have to refer to it by name, not path, so I can't reference an arbitrary file elsewhere.
I ran:
sudo find /usr -iname emblem*
and tried sticking an emblem in various places and restarting Nautilus (with nautilus -q), but couldn't get it to appear.
Also, if anyone here in the forum is interested in officially getting involved (mostly need beta-testers, but things like making emblems, or helping with interface design is very helpful too), please let me know either here or on Launchpad:
https://launchpad.net/timevault
zekopeko
June 24th, 2007, 09:11 PM
any updates on th progress of this nice app? how's development going? any new features?
KillerKiwi
June 25th, 2007, 05:04 AM
concerning integration with nautilus:
how about something like this
http://img355.imageshack.us/img355/7254/blajh0.th.png (http://img355.imageshack.us/my.php?image=blajh0.png)
this way we could slide through the folder over time and see what changes we have made over time. please do refine the idea if you like it. i just wanted to make it more like apple's timemachine.
Hey thats my desktop :), seriously though the time slider like fspot would be cool... if not in nautilus its self maybe in another dialouge.
In fact a slider instead of the calendar widget maybe?
brim4brim
June 25th, 2007, 06:24 AM
I really like this program idea.
Dokatz
June 25th, 2007, 06:29 AM
It's neato. Far from being worth the inclusion in any subsequent release.
FryerFox
June 25th, 2007, 11:54 AM
any updates on th progress of this nice app? how's development going? any new features?
Actually, I have been working on a rewrite of it, since the current snapshot technique puts some hard limits on what can and can't be done.
The next TimeVault will take snapshots every once in a while (say, 1/day or 1/week), called baselines. Then for each directory to watch, a snapshot delay is set (say, 1 min.). When a file changes in that directory, a snapshot is taken after the configured delay time. If the file changes before the snapshot is taken, then the timer is reset repeatedly until you're done fiddling with the file, or some other specified time runs out (say, 60 min.) and a snapshot is forced. Lets call this mini-snapshot a delta. It only involves the file in question and so should be relatively fast (my benchmarks put it at around 50-150ms for a 1MB file, less for smaller files), and can be done in the background.
For this to be possible, a server process has to be running, and monitors files using the inotify interface in recent kernels. Clients can interact with the TimeVault server and subscribe to signals to monitor things like when a file timer starts or a snapshot is taken. They can also request a snapshot at a particular time in the past (the closest baseline is used, and then all necessary deltas are stacked on top using unionfs).
I would like to integrate most of the user interaction with TimeVault into Nautilus, but I am also going to really try to making a calendar browser which uses the timebar-size paradigm you suggested (zekopeko). It's slick, useful, and it turns out that it's firmly within the realm of the possible :)
I made a UML-like diagram that I was going to post on the Wiki or just use as a reference. The names will probably mean nothing to anyone but myself, but I have completed the following:
Notifier
FileWatcher
DBusServer
MsgHandler
ConfigFile
TimeVault (50%)
Nautilus (33%)
I'm going to update the Wiki with this info and perhaps go into more detail when I have time. Please stop by and volunteer by adding your name to the 'Volunteers' along with what you can help with (mostly testing, but design discussions, graphics, prettier documentation, unit-test code, etc. are needed too).
https://wiki.ubuntu.com/TimeVault
zekopeko
June 25th, 2007, 02:01 PM
I would like to integrate most of the user interaction with TimeVault into Nautilus, but I am also going to really try to making a calendar browser which uses the timebar-size paradigm you suggested (zekopeko). It's slick, useful, and it turns out that it's firmly within the realm of the possible :)
this would need some work in usability department. it's nice but what if you have many deltas in 1 day/week?
the slider need to be zoomable so that you can see what's going on in one year or one day.
and how do you think changes would be reflected in nautilus? ie. how would you see which file changed? emblems or perhaps you could use the sidebar for more details about a specific file/folder...?
or did you have something different in mind?
zakk
July 1st, 2007, 07:03 AM
I just made an icon for timevault (based on some tango icons).
Turgon
July 1st, 2007, 07:39 AM
This looks really good, and I would absolutely love to see this feature in gutsy, however I think it's most realistic to aim for gutsy +1 and let it mature first.
FryerFox
July 1st, 2007, 11:43 AM
this would need some work in usability department. it's nice but what if you have many deltas in 1 day/week?
the slider need to be zoomable so that you can see what's going on in one year or one day.
and how do you think changes would be reflected in nautilus? ie. how would you see which file changed? emblems or perhaps you could use the sidebar for more details about a specific file/folder...?
or did you have something different in mind?
I have rewritten the underlying mechanism and am almost finished (https://wiki.ubuntu.com/TimeVaultRestructure). The /new/ way shows a color-coded time bar that can be zoomed in and out. When you click a time-slot, then files changed in that time range are listed in a table below.
Also, there is a status icon in the GNOME toolbar that has a little clock appear on it when a snapshot is pending, and a baloon pops up telling when one occurs. Snapshots no longer take very much time, since I decided against maintaining the whole filestructure, but now only save the bits and pieces. You can right-click on the icon to get access to the snapshot picker and settings screen. Incidentally, the settings is the last piece remaining, but brave souls may want to play with it now and manually edit a config file (let me know if you do).
I'll post some screenshots when I get home.
FryerFox
July 1st, 2007, 11:46 AM
This looks really good, and I would absolutely love to see this feature in gutsy, however I think it's most realistic to aim for gutsy +1 and let it mature first.
Thanks.
Yeah, I would hate to drop a buggy application into the free world, but I am consoled by the fact that it most definitely won't be installed by default and will just be another of the zillion packages in Universe. If I get it into a repository, then I can automatically send updates if/when I do find bugs or create new features.
I'm going to plod along and see what happens - I assume the Universe maintainers will have their own criteria for inclusion.
FryerFox
July 1st, 2007, 11:50 AM
I just made an icon for timevault (based on some tango icons).
Pretty, but I think we're going with a mobeus theme (as shown on https://launchpad.net/TimeVault).
Also, just curious, but the svg doesn't seem to scale well and looks pixelated at higher resolutions, which is wierd for a vector graphic. Was is created as a raster graphic first?
P.S. I will be using the emblems created by thorwil (http://ubuntuforums.org/showpost.php?p=2869137&postcount=51) as overlays to the status to indicated different states (pending, server not running, etc.)
zakk
July 1st, 2007, 11:59 AM
Pretty, but I think we're going with a mobeus theme (as shown on https://launchpad.net/TimeVault).
Also, just curious, but the svg doesn't seem to scale well and looks pixelated at higher resolutions, which is wierd for a vector graphic. Was is created as a raster graphic first?
No, its created in Inkscape, its a full vector graphic. Try to open with inkscape.
idn
July 1st, 2007, 12:33 PM
Hey thats my desktop :), seriously though the time slider like fspot would be cool... if not in nautilus its self maybe in another dialouge.
In fact a slider instead of the calendar widget maybe?
I like this UI design as well, although what would the height of the bars represent? In fspot it is the number of pictures right, so in this case it would be the number of files backed up?
By the way, I don't think the logo is the best choice, its a nice design, but its not really tango-like, also, it doesnt really present the applcations purpose, I think the logo should really just be a clock with a backwards arrow as posted in the forum here, it then becomes a lot more obvious what the application is about.
FryerFox
July 1st, 2007, 01:48 PM
No, its created in Inkscape, its a full vector graphic. Try to open with inkscape.
You're right - it looks very slick in Inkscape.
FryerFox
July 1st, 2007, 01:52 PM
Here are some screenshots. The height of the bars represent the amount of data snapshotted (changes, created, and deleted) in that time range.
They are logarithmic (base2), so something 2 the size is N pixels higher, and something 256 times the size is 8N pixels higher.
KillerKiwi
July 1st, 2007, 07:18 PM
Here are some screenshots. The height of the bars represent the amount of data snapshotted (changes, created, and deleted) in that time range.
They are logarithmic (base2), so something 2 the size is N pixels higher, and something 256 times the size is 8N pixels higher.
It looks great but I really think the icon needs some tango love (the logo is fine just needs to follow the guide lines so it matchs the rest of the desktop)....
FryerFox
July 4th, 2007, 12:10 PM
Anyone interested in helping beta-test the latest rev? <preferably someone with a Jabber or other IM contact>
zekopeko
July 4th, 2007, 01:07 PM
create a deb so that it can be easily uninstalled and some kind of test list and i will gladly help.
i'm a little short on time now so i might not have a lot of time for testing but will have more next week.
P.S. will update my profile with jabber contact
FryerFox
July 4th, 2007, 03:13 PM
create a deb so that it can be easily uninstalled and some kind of test list and i will gladly help.
i'm a little short on time now so i might not have a lot of time for testing but will have more next week.
P.S. will update my profile with jabber contact
The .deb is on Launchpad:
https://launchpad.net/timevault/+download
[use timevault-0.6.4]
I intend to work on documentation at some point today and post timevault-0.6.4 with documentation (and bugfixes as appropriate). From initial testing, it seems to be working for those who have installed it (on GNOME, since it's a GNOME app - the panel icon doesn't work on KDE unfortunately).
ashughes
July 4th, 2007, 07:24 PM
Anything that lets me do an easy rollback anytime I have fuh...screwed something up is a good thing :)
AlexThomson_NZ
July 4th, 2007, 09:21 PM
Sorry- don't mean to hurt your feelings, but I disagreed strongly with this.
I am thinking that having files capable of being in various states would add to the complexity, and not really be in any way helpful in a real-world scenario.
ie. If I upgrade something that breaks a bunch of stuff, so I roll back, would it be smart enough to roll-back the dependencies as well? What about configuration files changed by the upgrade? As I see it the system is in a unknown state. Even if rolling back fixes the problem, how can you be sure this won't be the cause of some problem down the road? Surely it would be easier to troubleshoot problems when files haven't been upgraded/downgraded arbitrarily?
Also, how does the program know what state say, gnome-terminal was on 24 June 2006- does it hash-check every program every day? How are the deltas stored? Wouldn't this require a lot of space?
Personally, I like to control this sort of thing manually myself.
I sincerely don't mean to hurt your feeling though, but you did ask for opinions.
// Looking over the last 12 pages I seem to be the only one giving criticism, now I feel like an ars*!
noamsml
July 4th, 2007, 09:43 PM
Are the snapshots progressive?
FryerFox
July 4th, 2007, 10:17 PM
Sorry- don't mean to hurt your feelings, but I disagreed strongly with this.
Absolutely no offense taken. :)
I think though, that you might have misunderstood the function of this app. It's not to roll back an OS, but to save revisions of documents/files. It useful, for example, if I need to see what an image I'm editing looked like a month ago, or what the xorg.conf was before I installed compiz so I can copy something out of it. Or my thesis has a diagram I can no longer reproduce because the run of data was overwritten.
That kind of stuff.
It's not so you can uninstall apps, but I guess it could be abused to do that and it wouldn't work so well as you pointed out.
FryerFox
July 4th, 2007, 10:18 PM
Are the snapshots progressive?
no, there are no partial snapshots right now (I assume that's what you mean) - the whole file is copied. Not so good for huge files like avi's etc., but there's a setting that limits the size of files that can be snapshotted.
AlexThomson_NZ
July 4th, 2007, 10:31 PM
Absolutely no offense taken. :)
I think though, that you might have misunderstood the function of this app. It's not to roll back an OS, but to save revisions of documents/files. It useful, for example, if I need to see what an image I'm editing looked like a month ago, or what the xorg.conf was before I installed compiz so I can copy something out of it. Or my thesis has a diagram I can no longer reproduce because the run of data was overwritten.
That kind of stuff.
It's not so you can uninstall apps, but I guess it could be abused to do that and it wouldn't work so well as you pointed out.
Ahh in that case I take it all back! I just got it in my head that this was some sort of system-restore tool.
Disregard my negative vote too, and bump it up to 'useful tool' :)
misfitpierce
July 5th, 2007, 03:16 AM
Great program concept. I think you should integrate into gutsy
Vinze
July 5th, 2007, 06:12 AM
I like the idea, but since it's so Gnome-focused (with all those dependencies on e.g. libmetacity) I haven't installed it on my Xfce box. I can imagine it being included in Gutsy though ;)
tassou
July 5th, 2007, 06:25 AM
Hey, great work, here is a feature request. Given you can monitor changes in files, you can sort directories / file by activity. Therefore, what would be very interesting is to add a "Sort by" criteria in nautilus so that files are sorted by activity, so that directories in which you are not working anymore are slowly going to the bottom of the list, freeing top space for active directories. What would you think about that ?
- Lazlo -
July 5th, 2007, 07:06 AM
Great! Really like TimeVault, but there is lots of work to do on the design, especially the icons.
Thanks. :)
brim4brim
July 5th, 2007, 07:45 AM
Absolutely no offense taken. :)
I think though, that you might have misunderstood the function of this app. It's not to roll back an OS, but to save revisions of documents/files. It useful, for example, if I need to see what an image I'm editing looked like a month ago, or what the xorg.conf was before I installed compiz so I can copy something out of it. Or my thesis has a diagram I can no longer reproduce because the run of data was overwritten.
That kind of stuff.
It's not so you can uninstall apps, but I guess it could be abused to do that and it wouldn't work so well as you pointed out.
I think it would be a good idea to have another project alongside this one that is aiming for OS rollback capability. The two should be two separate apps IMO.
One for users to rollback their own files in their home folders and one for administrators to rollback the OS.
It would be cool if we could set it to take snapshots at set times, set events (before installing something through synaptic) or to not do it except when told to manually.
Maybe throwing up something on the project homepage asking for interested people who could work on this project would be a good idea. I don't anything about programming on Windows so I don't think I'd be much help.
FryerFox
July 5th, 2007, 08:22 AM
I think it would be a good idea to have another project alongside this one that is aiming for OS rollback capability. The two should be two separate apps IMO.
One for users to rollback their own files in their home folders and one for administrators to rollback the OS.
It would be cool if we could set it to take snapshots at set times, set events (before installing something through synaptic) or to not do it except when told to manually.
Maybe throwing up something on the project homepage asking for interested people who could work on this project would be a good idea. I don't anything about programming on Windows so I don't think I'd be much help.
I like that idea, and have thought about it somewhat. It's actually significantly less work than the timevault implementation. Unfortunately, most of the work would have to be done using the filesystem since there are some things you can't do in userland (like freeze the whole filesystem instantly at one moment in time). Ideally, something like ZFS, but UNIONFS (or AUFS when it gets merged) will also work. I felt that it would be too intrusive to be immediately useful, however, since you would have to make major changes in your system's set up with ZFS (but you could slap UNIONFS over any other filesystem without messing it up too much).
One of the neat things I think I could do is allow you to merge snapshots, so you could have a base snapshot for your fully configured and smoothly running system, along with some deltas. After a while, to save space, the user could merge some of the deltas up or down (so duped files are removed, and deleted files destroyed).
Give me a little time to wrap up TimeVault, and if I don't start working on it before Gusty starts getting close to release, remind me in a PM :)
maruchan
July 5th, 2007, 09:29 AM
Very nice project. :) Where can the logo SVG be downloaded?
FryerFox
July 5th, 2007, 10:33 AM
Very nice project. :) Where can the logo SVG be downloaded?
It's not part of the .deb since it's not needed. I have attached the current version but the new one being worked on uses Tango colors, and has shadows and such (still looks very similar though).
Watch the wiki page for a discussion on branding issues:
https://wiki.ubuntu.com/TimeVault
https://wiki.ubuntu.com/TimeVaultBranding (coming soon)
Also, I found out this morning that this thread has been dugg:
http://digg.com/linux_unix/TimeVault_Going_back_in_time_in_Ubuntu
Neat :)
Personally, I think the coolest aspect of my opensource development experience is how the application went from being one thing into something else by combining many people's different ideas, and how someone not involved in programming can still be involved in development in very substantial ways.
If enough people are interested, we could have a meeting on a Freenet channel for a 'community discussion'. I've already had quite a few discussion with some of you on this forum via IM (and almost all features that came out of those discussions have been implemented already).
maruchan
July 5th, 2007, 11:11 AM
Thanks for the SVG - I like your Freenode (net?) idea too...you're talking about IRC, right? That would be slick.
AlexThomson_NZ
July 5th, 2007, 07:58 PM
Hey congrats on the Digg BTW (556 and counting...), now thousands will see my idiotic comment :)
TannerLD
July 5th, 2007, 08:17 PM
I thought it was cool and looks very promising, so I dugg it. :)
-Tanner
tehquickness
July 6th, 2007, 10:09 AM
I think this is a great idea. And I am already using it as a great way to back up revisions to my Architecture work in school. I have a few questions however. First, when it notices a file change, it always schedules the next action for what seems like an hour away. Is this by design? I am assuming it will group the actions together and backup a many grouped actions at once?
There is one other question that I can think of off the top of my head. What do the colors mean in the Snapshot browser? I think we should add a key or some signifigance to them. Just my two cents.
I have some more questions but I got interepted halfway through my post so I will post later when rethink the rest of my questions. Thanks for the hardwork!
FryerFox
July 6th, 2007, 10:53 AM
I think this is a great idea. And I am already using it as a great way to back up revisions to my Architecture work in school.
Excellent. That's great to hear.
I have a few questions however. First, when it notices a file change, it always schedules the next action for what seems like an hour away. Is this by design? I am assuming it will group the actions together and backup a many grouped actions at once?
There is one other question that I can think of off the top of my head. What do the colors mean in the Snapshot browser? I think we should add a key or some signifigance to them. Just my two cents.
I have some more questions but I got interepted halfway through my post so I will post later when rethink the rest of my questions. Thanks for the hardwork!
Because I hate writing documentation, I am going to post these on the FAQ page and answer them there:
https://wiki.ubuntu.com/TimeVaultFrequentlyAskedQuestions
I will add a key of some sort for the colors in an upcoming rev. Thanks.
tehquickness
July 6th, 2007, 12:03 PM
Thanks for the quick reply. I have run across something that might be a bug. I cannot access the preferences any more. I am not sure how to debug this issue. I have tried running it from the terminal but no errors show up. I am not sure how I can further debug or diagnose this problem. I would love to help in any way possible. Please let me know.
FryerFox
July 6th, 2007, 12:21 PM
Thanks for the quick reply. I have run across something that might be a bug. I cannot access the preferences any more. I am not sure how to debug this issue. I have tried running it from the terminal but no errors show up. I am not sure how I can further debug or diagnose this problem. I would love to help in any way possible. Please let me know.
Could you post it on the bug-tracker on launchpad:
https://bugs.launchpad.net/timevault/
That's probably a better place to debug (also, pls. list the version in the bug report).
tehquickness
July 6th, 2007, 03:51 PM
Sorry if I am posting to much. Another idea here....
Can we label the buttons in the Snapshot Browser?
We have the left arrow (Travel Back)
We have the right arrow ( Travel Forward)
Then there is the button on the far right. I think it scales backup map to different scales. We could call this TIme Scale. I think this could be improved in a few ways.
We could either:
1. Keep the button, label it, and add its opposing button to the left side to scale time to smaller increments.
2. We could use a slider bar that will have the various lengths of time or time scales spread accross it. For example have 1 hour to the far left then work up to like 6hr 12 hr 1 day 1 week then finall 1 month or 1 year.
A bonus of this would be that i could function as a zoom feature as well. You could zoom out to the month, choose the month you want. Then be able to zoom back in to a specific day.
3. Finally we could use a drop down box with the various time scales.
If I had to rate them in order of feasibility, I would say 1,3,2. With idea 1 being the easiest to implement and still be user friendly. Idea two could be a little more difficult to implement but would increase the user friendliness. Finally, idea 3 would be the prettiest solution but the most difficult to code I would assume.
Just a few ideas to improve the UI, if we want this to become an Ubuntu core element.
FryerFox
July 6th, 2007, 04:23 PM
Sorry if I am posting to much. Another idea here....
Can we label the buttons in the Snapshot Browser?
We have the left arrow (Travel Back)
We have the right arrow ( Travel Forward)
Then there is the button on the far right. I think it scales backup map to different scales. We could call this TIme Scale. I think this could be improved in a few ways.
We could either:
1. Keep the button, label it, and add its opposing button to the left side to scale time to smaller increments.
2. We could use a slider bar that will have the various lengths of time or time scales spread accross it. For example have 1 hour to the far left then work up to like 6hr 12 hr 1 day 1 week then finall 1 month or 1 year.
A bonus of this would be that i could function as a zoom feature as well. You could zoom out to the month, choose the month you want. Then be able to zoom back in to a specific day.
3. Finally we could use a drop down box with the various time scales.
If I had to rate them in order of feasibility, I would say 1,3,2. With idea 1 being the easiest to implement and still be user friendly. Idea two could be a little more difficult to implement but would increase the user friendliness. Finally, idea 3 would be the prettiest solution but the most difficult to code I would assume.
Just a few ideas to improve the UI, if we want this to become an Ubuntu core element.
I will see what I can do about this (for future revs) - right now, I settled for little tool-tips over the buttons, but I guess a two slide-bar solution is possible, where the vertical slide bar controls the zoom level and the horizontal controls the time shown within that level. I don't want to label the buttons, because they will look big and goofy, IMO, but I do want to make the interface intuitive.
Nekiruhs
July 6th, 2007, 07:13 PM
Oh nos.... This broke my nautlius. It won't even start now. Install went fine. The nautilus wouldn't start from killall nautilus && nautilus -q. Now nautilus won't start at all. I unistalled, purged it reinstalled, it still wont work.I even tried restarting X (The log out window never shows up). :cry:
BTW, I looked at some of the .py files, Very clean coding, very pythonic.:KS
EDIT: Ok, its fixed. Thanks FryerFox.
FryerFox
July 7th, 2007, 03:43 PM
I have uploaded TimeVault version 0.6.7 at https://launchpad.net/timevault/+download
There are screenshots and a change-list on the wiki: https://wiki.ubuntu.com/TimeVault
This rev. implements metadata caching, so programs like Beagle that change metadata don't trigger snapshots. I have found that if you are using Beagle to watch many folders (more than inotify can handle), it constantly refreshes file metadata. This means that running 'touch *' on a directory will only cause a metadata update and not an actual snapshot.
All known bugs have been fixed (so you should only have problems with new bugs ;) )
Still looking for people to flesh out the FAQ, so if you had questions, then please post them on the wiki page or, even better, answer them yourself if you can.
I will be on Freenode: #ubuntutimevault for a while in case anyone wants to stop by.
darkmaster
July 7th, 2007, 08:20 PM
It's an absolutely great tool and a must have not only for Gutsy but for Gnome itself. You should push to put this application into the next Gnome! I think it is a must have nowadays, specially since Linux configuration files are so sensible..... I love it and hope it can become much more eyecandysh! ;) Animations, 3D graphic..... etc. Of course, first let's go for functionality :) Really a marvellous work!!!!
Skeith
July 7th, 2007, 09:18 PM
This application sounds perfect for me, I'll download it in a little bit. I spend a lot of time tweaking, customizing, and generally messing around with K/Ubuntu. With this I can have the last good configuration available for instant backup if anything goes wrong. Any news on a port to KDE?
iBART
July 7th, 2007, 09:44 PM
Good - Needs some improvements but has significant merit :D
xerosis
July 8th, 2007, 03:40 AM
skeith: I'm the one doing the KDE port but sadly it will be a fair while yet. I can't really start it until the backend is stable and it's going through a lot of changes. Add to the fact it doesn't currently run in Kubuntu and Dolphin (the default file manager for Gutsy) doesn't support plugins/extensions as of yet. I'll try my best to get one out quickly though!
ubuSenshi
July 8th, 2007, 07:43 AM
I think this is a great piece of software :) But however, I got one question:
When I set the storage to an USB drive and then unmount it, where does TimeVault save the snapshots?
blackphiber
July 8th, 2007, 07:50 AM
lets say a user uses timevault to back everything up on their computer (of course not yet since it is still alpha) to an external hard drive. Lets say the computers hard drive crashes, use has to reinstall ubuntu, any chance in the future we could have a nice checkbox or something in the installer saying "restore from timevault" which would ask the user where the backup is? Or perhaps a standalone app like this on the desktop.
Just a suggestion, since the average user probably wont know (or want to) deal with copying everything over manually (at the moment, how would one go about this?). Awesome work, just wondering, (I have not looked too hard, but I am interested) where exactly is the source? It's all written in python it seems right (interpreted so no compiler)? If I could help, I would love to. And thank you, amazing work you have done in such a short time.
FryerFox
July 8th, 2007, 10:12 AM
skeith: I'm the one doing the KDE port but sadly it will be a fair while yet. I can't really start it until the backend is stable and it's going through a lot of changes. Add to the fact it doesn't currently run in Kubuntu and Dolphin (the default file manager for Gutsy) doesn't support plugins/extensions as of yet. I'll try my best to get one out quickly though!
Xerosis, I have added a Ports section to the WIki,
https://wiki.ubuntu.com/TimeVaultPorts
We can develop a spec for porting or write instructions on how to kludge it into another WM there. So far, AFAIK, the only parts that don't work are the Notifier and of course the Nautilus integration (unless you're using Nautilus in KDE, which would be a little wierd :) )
The most sophisticated GUI parts are the Snapshot Browser and the Configurator. The Notifier and Nautilus extension are relatively simple since they use DBus to communicate with the server which handles the heavy lifting. Incidentally, we wouldn't necessarily have to get the Nautilus part working at first.
I will spend some time today looking at how the Notifier fails in KDE.
[I know we have talked about some of this to each other, but I wanted to post this info for the thread.]
I think this is a great piece of software :) But however, I got one question:
When I set the storage to an USB drive and then unmount it, where does TimeVault save the snapshots?
Thanks.
It saves it no where. That question has been asked several times though, and while I can't really make it backup to somewhere else, I can stamp a big red error icon on the status panel notification to make it clear that TimeVault is no longer functioning. It wouldn't know that the drive was removed until it tried to snap something though, because I believe that polling for this sort of app is definitely a no-no (stops hard-drives from spinning down, interferes with suspend, etc.)
Adding a fallback backup directory is probably a bad idea for a number of technical reasons (mostly performance-based). That is, unless the fallback is temporary and is merged back in when the drive reconnects (or the backup folder reappears, which is the same thing as far as the filesystem's concerned). This is a pretty sophisticated feature where a lot can go wrong - for example, space limitations cause some changes to be unmergeable, the drive is removed before a merge is complete, the fallback folder is also mounted on a USB drive that's disconnected, etc.
lets say a user uses timevault to back everything up on their computer (of course not yet since it is still alpha) to an external hard drive. Lets say the computers hard drive crashes, use has to reinstall ubuntu, any chance in the future we could have a nice checkbox or something in the installer saying "restore from timevault" which would ask the user where the backup is? Or perhaps a standalone app like this on the desktop.
Just a suggestion, since the average user probably wont know (or want to) deal with copying everything over manually (at the moment, how would one go about this?). Awesome work, just wondering, (I have not looked too hard, but I am interested) where exactly is the source? It's all written in python it seems right (interpreted so no compiler)? If I could help, I would love to. And thank you, amazing work you have done in such a short time.
Thanks for the compliment and the offer to help - I would like to take you up on that; could you please scan through the wiki page and put yourself under one of the volunteer categories.
The source is on the downloads page (titled: timevault-0.6.7.tar.gz):
https://launchpad.net/timevault/+download
TimeVault is not made to backup a whole drive, and will actually refuse to do so if you add the root dir ('/') to the paths. For something like that, I believe there are much better solutions (such as Simple Backup, which I believe may be included in a vanilla install).
But it is a very good idea to add a feature where you can restore to a particular time in the past so you don't have to individually do it for every file or directory. While doing that would be relatively easy, I wouldn't want to include this feature unless it had the proper safeguards (like making sure you know what files are going to be restored, allowing you to filter based on directory or filetype or regex pattern, etc.). So I will probably not put it in immediately, but will add it to the list of ToDo's.
This feature could be used in conjunction with another backup mechanism (like the one mentioned above). However I see another problem, which will be an issue when I add the pruning mechanism, where it goes through and starts removing snapshots according to whatever settings it's given.
My initial idea was to remove snapshots older than X, while retaining the latest and earliest versions + Y intermediates spread as equally as possible for times previous to X. This would make it impossible to have a true representation of the backups at any particular time, only a best-effort representation.
I've written a lot here, so I'm adding it to the wiki :)
FryerFox
July 8th, 2007, 10:50 AM
Update: I'm running TimeVault on KDE right now, and it looks like the notifier works. It had a problem at first with not being able to connect, so I stopped the server (timevault.py) and the panel notification (timevaultNotifier.py) and restarted the server:
sudo /etc/init.d/timevault restart
and the notifier (K=>System=>TimeVault). Don't know why it had trouble the first time (except that is seems that it didn't find the .services file for DBUS until I restarted), but everything seems to be working now.
Could anyone who can't get it working in KDE post a bug report on it, pls so I can see why it doesn't work for others.
Nekiruhs
July 8th, 2007, 11:43 AM
Fryerfox,
Is there anyway to make it so TimeVault follows Symlinks?
FryerFox
July 8th, 2007, 12:05 PM
Fryerfox,
Is there anyway to make it so TimeVault follows Symlinks?
There is a way, since I manually recurse directories to find their contents, and it would be easy to add symlinks too. But do you think it's a good idea to follow symlinks, since you could easily get into a situation where you start to loop (a dir containing a link to another directory that has a dir with a symlink that points back to the first).
blackphiber
July 8th, 2007, 12:54 PM
Xerosis, I have added a Ports section to the WIki,
https://wiki.ubuntu.com/TimeVaultPorts
We can develop a spec for porting or write instructions on how to kludge it into another WM there. So far, AFAIK, the only parts that don't work are the Notifier and of course the Nautilus integration (unless you're using Nautilus in KDE, which would be a little wierd :) )
The most sophisticated GUI parts are the Snapshot Browser and the Configurator. The Notifier and Nautilus extension are relatively simple since they use DBus to communicate with the server which handles the heavy lifting. Incidentally, we wouldn't necessarily have to get the Nautilus part working at first.
I will spend some time today looking at how the Notifier fails in KDE.
[I know we have talked about some of this to each other, but I wanted to post this info for the thread.]
Thanks.
It saves it no where. That question has been asked several times though, and while I can't really make it backup to somewhere else, I can stamp a big red error icon on the status panel notification to make it clear that TimeVault is no longer functioning. It wouldn't know that the drive was removed until it tried to snap something though, because I believe that polling for this sort of app is definitely a no-no (stops hard-drives from spinning down, interferes with suspend, etc.)
Adding a fallback backup directory is probably a bad idea for a number of technical reasons (mostly performance-based). That is, unless the fallback is temporary and is merged back in when the drive reconnects (or the backup folder reappears, which is the same thing as far as the filesystem's concerned). This is a pretty sophisticated feature where a lot can go wrong - for example, space limitations cause some changes to be unmergeable, the drive is removed before a merge is complete, the fallback folder is also mounted on a USB drive that's disconnected, etc.
Thanks for the compliment and the offer to help - I would like to take you up on that; could you please scan through the wiki page and put yourself under one of the volunteer categories.
The source is on the downloads page (titled: timevault-0.6.7.tar.gz):
https://launchpad.net/timevault/+download
TimeVault is not made to backup a whole drive, and will actually refuse to do so if you add the root dir ('/') to the paths. For something like that, I believe there are much better solutions (such as Simple Backup, which I believe may be included in a vanilla install).
But it is a very good idea to add a feature where you can restore to a particular time in the past so you don't have to individually do it for every file or directory. While doing that would be relatively easy, I wouldn't want to include this feature unless it had the proper safeguards (like making sure you know what files are going to be restored, allowing you to filter based on directory or filetype or regex pattern, etc.). So I will probably not put it in immediately, but will add it to the list of ToDo's.
This feature could be used in conjunction with another backup mechanism (like the one mentioned above). However I see another problem, which will be an issue when I add the pruning mechanism, where it goes through and starts removing snapshots according to whatever settings it's given.
My initial idea was to remove snapshots older than X, while retaining the latest and earliest versions + Y intermediates spread as equally as possible for times previous to X. This would make it impossible to have a true representation of the backups at any particular time, only a best-effort representation.
I've written a lot here, so I'm adding it to the wiki :)
No problem, but probably might be a few days, got a wake to go to today, funeral tomorrow, and then a job interview. Fun times:)
Nekiruhs
July 8th, 2007, 01:00 PM
There is a way, since I manually recurse directories to find their contents, and it would be easy to add symlinks too. But do you think it's a good idea to follow symlinks, since you could easily get into a situation where you start to loop (a dir containing a link to another directory that has a dir with a symlink that points back to the first).
Perhaps theres a way to limit the number of times it follows symlinks. Like maybe make it only do 5 dirs deep.
newen
July 8th, 2007, 07:46 PM
Would there be any chance to add some bling, like a compiz fusion plugin (with a D-Bus interface) to do some neat effects, similar to apple's time machine?
FryerFox
July 8th, 2007, 09:15 PM
Would there be any chance to add some bling, like a compiz fusion plugin (with a D-Bus interface) to do some neat effects, similar to apple's time machine?
Bling is probably better left to those who have the talent for it. It would probably take me months to become accustomed to the intricacies of OpenGL on AIGLX/XGL in Linux - I tried a while back, wanting to port some code I had previously written in OpenGL and DirectX on Windows <sorry>, and found it very slow going. But that was some years ago, so it may have gotten easier for all I know.
But the interface is completely open to DBus apps - if you know someone who can do the job, please try to convince them. :)
RAOF
July 8th, 2007, 09:26 PM
...
It saves it no where. That question has been asked several times though, and while I can't really make it backup to somewhere else, I can stamp a big red error icon on the status panel notification to make it clear that TimeVault is no longer functioning. It wouldn't know that the drive was removed until it tried to snap something though, because I believe that polling for this sort of app is definitely a no-no (stops hard-drives from spinning down, interferes with suspend, etc.)
...
I didn't see anything regarding this on the wiki, so I'll add it here: You could simply listen to HAL events on dbus to get the "drive removed" notification. No polling required :)
Also, as far as bling with compiz goes, you probably want to wait. There'll be an app-visible retained-mode-rendering interface implemented sometime. Then the bling can come ;)
drapaki
July 9th, 2007, 12:17 PM
this seems great and the attention it's getting is really whirling up!
downloaded the timevault-0.6.8.deb, restarted the whole machine but still don't see "Manage Snapshots" when i go to System->Administration.
what did i do wrong?
FryerFox
July 9th, 2007, 12:52 PM
this seems great and the attention it's getting is really whirling up!
downloaded the timevault-0.6.8.deb, restarted the whole machine but still don't see "Manage Snapshots" when i go to System->Administration.
what did i do wrong?
It's not there anymore - you should try Applications=>System Tools=>TimeVault
drapaki
July 9th, 2007, 02:28 PM
t