16 Dec 2009
Restoration: Start with the basics
TimeVault has been busy taking snapshots of my data. But what good is that when I have no way of restoring files and folders from those backups? With that in mind I hacked together a quick way of restoring specific files and folders. Now provided with TimeVault are dolphin/konqueror service menus that allow for the following:
Remember that service menus are very simple. At the moment this means that you can attempt to restore files that weren’t included in the backup. This will fail (obviously) but it will tell you that it failed. You can also attempt to restore files at times older than the earliest backup. While this won’t fail, it’ll give you the earliest backup rather than what you might want. But it’s a start. And there are nice notifications when the restoration fails or is going to take a long time. The file/folder gets restored to filename.restored so you don’t have to worry about overwriting your current version.
At some time it’s going to be the time to start testing TimeVault on more systems. Backups are not things that should have uncertainty regarding their reliability so I will spend as much time testing as I feel is necessary. But for this to happen on a wider scale packages for common distros would be really useful. If anyone has the know how to make packages for kubuntu/openSUSE/Arch Linux/others and is interested please contact me. I would love the help. TimeVault itself shouldn’t be hard to package, getting the dependencies right might be a bit of a challenge, but that’s a one time deal that will certainly get easier as time goes on.
I’ve updated the README file which should give a much better idea of how to get things running. If you’re curious or want to experiment you can find TimeVault at http://gitorious.org/timevault
Lastly, I’ve taken to hanging out in #timevault on irc. Feel free to drop by and say hi. I’d love to answer any questions you have.
Edit: looks like krytzz has added timevault to the gentoo kde overlay.
Very cool! Every now and then something makes my jaw drop… This was one. Neat stuff.
Andrew Lake
December 16th, 2009 at 11:54 pmpermalink
Hurray for integration ! Your app will be a huge success instantly.
Thanks for making it.
binarylooks
December 17th, 2009 at 2:33 ampermalink
Perhaps this app could make use of Nepomuk to store metadata for the files, such as “last backuped on {date}”, or “contained in the following backups”. This could open the possibility of versioning files, e.g. to easily go back in time for a folder or file.
Andre
December 17th, 2009 at 3:48 ampermalink
Nice feature for Konquereor – looking forward to see it in mainstream.
First time that I stumbled over your blog – nice title-pic, but i think its time for a new rope
Daniel
December 17th, 2009 at 6:08 ampermalink
Looks good. When restoring files could you also add the date/time to the filename – e.g. filename.restored-ddmonyyyhhmmss
Sometimes it can be useful to restore multiple versions at once.
Jon
December 17th, 2009 at 6:16 ampermalink
@Daniel haha! You’d be surprised, those ropes are way stronger than they appear. But yeah, they were all replaced the year after I took that photo.
astromme
December 17th, 2009 at 7:33 ampermalink
“The file/folder gets restored to filename.restored so you don’t have to worry about overwriting your current version.”
What if the restored filename would include the date when the file was modified? So you could easily restore different versions without renaming last restored file itself?
So you would end up to have example_restored-modifieddate.odt from the original file named example.odt
And then if possible, have the restoration menu show the backupped file modification dates. Example
last backup (2009-12-31 or 24:59)
last hour (23:59)
Yesterday (2009-12-30)
Last week (2009-12-23)
Last month (2009-11-31)
Last year (2008-12-31)
The day when timevault gets sidepanel restoration… it will come very creat. Seeing a calender on right side where you could just browse the dates by clicking it and the fileview would change to reflect the current folder from backup.
Fri13
December 17th, 2009 at 12:27 pmpermalink
Oh, and I can not get timevault work on Mandriva Cooker with KDE SC 4.4 Beta 1. (4.3.80)
The timevault does not come to the system settings and still offers the same timevault and timevault-backup binaries what just shows the dateview. I have just updated git when posting this, after following README (and even restarted). The README told to run “sudo /etc/init.d/dbus reload” what is not possible because dbus is not located there, I though reboothing whole system instead just relogin would do the trick. After that it was demanded to manually run timevault.
And if wanted to get precompiled packages for multiple distributions, use openSUSE buildservice. You should get all from there yourself. Ask opensuse channel more information about it.
Fri13
December 17th, 2009 at 12:37 pmpermalink
I’m not a packager, so my terminology might be off. However, I’ve read about openSUSE Build Service (http://en.opensuse.org/Build_Service) which is supposed to enable developers to create one package that is automatically built for multiple distributions (http://en.opensuse.org/Build_Service/supported_build_targets).
Don’t know if that would be of any help in your situation, though.
Nathan
December 17th, 2009 at 1:26 pmpermalink
@fri13
Servicemenus are static options. I can’t mess with them. So although that would be much better, I can’t do it
With that in mind, I only did the servicemenus because they provided a really really quick way to get semi-gui restores now rather than later. And that’s important for me because I want to use timevault as my main backup to ensure that it’s being tested and I can’t do that without being able to restore files.
astromme
December 17th, 2009 at 3:17 pmpermalink
Currently, it looks like you can only select removable drive as backup target, but I think it would be really nice to also have the possibility to select other devices, like a network drive for example! Is that feature planned? Thanks
j-b-m
December 17th, 2009 at 3:58 pmpermalink
You should really push this into kdebase or kdeutils. Then you could ask the dolphin usability team the right to do a proper backup plugin with a time slider and a QDockWidget for managinf backups. As long as it is well integrated I hope they won’t say no. It would be so great to have a backup system (using diff and not full copy, is possible) well integrated in Dolphin (and by default, if possible). Both OSX and Vista+ have one.
Elv13
December 18th, 2009 at 10:59 pmpermalink
[...] une traduction de Restoration: Start with the basics, de Andrew Stromme [...]
Restauration Basique | Ktoekoms
January 11th, 2010 at 2:07 pmpermalink
Hi,
Sort of an off-topic comment but I’d like to congratulate you on writing such a nifty application for the Javascript Jam, much like TimeVault!
It was really saddening to see it come a close second under all titles, it should’ve won at least one title. Anyhow, keep up the great work! Will keep an eye out for your applications yet again for another jam/contest/challenge another day!
Harsh
April 15th, 2010 at 2:07 pmpermalink
Your fork of Timevault has recently caught my eye. I played with the original Launchpad version that was native to Gnome, but I had some issues with the earlier versions of it and let it slip to the side.
I’ve been digging through the source of your git tree to see where I could add functionality. So far, I’ve just been playing with CPack to make Debian packages (I primarily use Ubuntu). When and if I get that working, I’ll float the patch your way.
I had some questions regarding the current tree though:
1. Is the top-level README still accurate? It doesn’t look like you use rdiff-backup anywhere in the code anymore, for example. I see a call to rsync, but that’s it.
2. What is the purpose for libmica? Obviously it provides the interface for snapshots and deltas, but is this your implementation of the rdiff-backup or is this an abstraction?
3. Is the current plan to get local backups to work and then add-in support for remote locations, or is your focus solely on local drives?
If you could add some general description of the components timevault to the repository, I’d love to hack around on it a bit. For example, I’d really love some slick Dolphin integration for restoration of files. I think what you have in terms of the settings module and service menu is great work and I’m excited to see where this goes and help out if possible.
Thanks!
Derek
May 6th, 2010 at 9:58 ampermalink
Andrew, I read through the rest of your posts tagged with TimeVault and through the comments, so sorry for asking some questions already asked. Personally, remote backup (across LAN) is ideal for me, so this is something that I’d work on if I knew were to start. After finals next week, maybe I should have some time over the summer to tinker on it.
Also, you mentioned if it was possible to backup a single file of a backup set on demand….I looked into this and it doesn’t appear that it’s currently in the mainline, but request has been made for a –ignore option, which I think would allow for this ability. You could include the file(s) you wish to backup and ignore the others….I played with the CLI options and ended up just deleting the rest of the backup set.
Derek
May 6th, 2010 at 9:04 pmpermalink
@Harsh
Thanks
I was also a little disappointed, I felt that I made a legitimately useful plasmoid, as well as a new take on the configuration of applet-based tuners.
Such is life, it won’t prevent me from contributing to KDE in the future though I would admit it would have been nice to go to a developer event.
astromme
May 23rd, 2010 at 10:00 pmpermalink
any progress on this? I’m really looking forward to a final release!
Daniel Boff
October 8th, 2010 at 2:57 pmpermalink