RetrospeKt is my attempt to make working with backups easier and more
intuitive. It is inspired by Apple's "Time machine" backup system and
is based on rsnapshot backup script.

The main advantage comes from using the hard links in backup snapshots. The snapshots are not archived/compressed in any way so with Retrospect you can easily
browse your folders (in konqueror) as they were at any previous backup
point. If you are using the Strigi desktop search, you can now search not only the current disk state but all the past disk states!

A simple konqueror service menu entries are also provided for:

* restoring files from backups
* comparing any two versions of a text file with the excellent Kompare
(see exactly what you changed and possibly un-apply those changes)
* browsing all the versions of the selected file
* finding all the deleted files in the current directory
* listing all the changes made on the selected file/directory (journal)

Now there is also included an extremely simple rsnapshot configuration utility. You just select the directories to backup, where to backup and how often to backup and the scripts will (should) take care of the rest! :)

TO INSTALL:
For full functionality make sure you have kommander, rsnapshot, kdialog, konqueror and kompare insalled.
Uncompress anywhere and run the 'install' script. Provide your root/user password when asked by kdesu.

KNOWN ISSUES:
Rsnapshot does not handle links correctly. For example, if your /home is a link to /disk2/home then please backup both the link (/home) and the actuall data (/disk2/home).

Any feedback much appreciated!Last changelog:

10 years ago

0.11
- cool new timeline style! (see the TIMELINE.readme or Help.html)
- Search renamed to Find
- Find: full (optional) regex support
- Find: can easily list all the files in the current directory with all the
versions of each file and all the deleted files (see Help!)
- Find: should be a bit faster (but still can take a long time)
- bug: correct nfs support (thanks dreadhead!)

0.10
- NEW! Search - locate all the files (even deleted!) that match the search string
(all the different versions of each file are also shown)
- directories are now marked in the journal
- a few cosmetic changes on the timeline

I just installed retrospekt and it told me i need to run retroskept-config first. When i do that, nothing really happens all i get is:
reg@desktop-reg:~/downloads/retrospekt> ./retrospekt-config
root: /.snapshots/
d:7 w:4 m:0 y:0
backup: /home/
backup: /etc/
backup: /usr/local/

I'm not sure if it's still maintained, but it looks like an interesting backup solution. I have been playing with TimeVault, a simple gnome backup tool that has similar goals. I know that their underlying architectures are currently quite different, but I wonder if these two could form a standard base and then work on kde/gnome front end interfaces for the base?

I would love to have a desktop antagonistic backup service but still have the integration of configuration interfaces tied to DEs.

I'm trying to change my include list now, but every time I add a directory to it the list is wiped clean. So for example, the list is populated with /etc end /home, then when I want to remove /home (that goes fine), and add /home/me/documents or something, but then when the folder selection dialog closes, the include list is empty.. I can add my folder, but then when I want to add another folder the same thing happens..

When I manually type in the path everything goes fine btw.

Incidentally, in my konsole there are a lot of messages like this:
kmdr-executor: WARNING: Pixmap not found for mimetype inode/directory
but I don't think that really has something to do with my problem, does it? :)

The rsnapshot is run through cron job located in /etc/cron.d/rsnapshot. The first column are minutes, the second are hours.
As for the exclude list, I haven't yet had time to implement it but it's certainly on my TODO list.

I thought of some more issues: During installation the dolphin servicemenu couldn't be copied because the d3lphin/servicemenus subfolder didn't exist yet. Now, after I copied it manually, it loads up an instance of konqueror (pointed at my home directory) whenever I use it..

Thanks for testing! Today, with 10s of popular distributions it's simply very hard to make sure your software works on them all. I will add a command to make that directory in the next version.
Can you tell me more about the second part of your post as I didn't quite understand it.
This is how it should work:
You open the dolphin and select (hover over) a directory. Select the 'retrospekt timeline'. Timeline should appear together with a konqueror window opened to the selected directory.

Ah yes, I see it now. The Konqueror window confused me since I was using Retrospekt from Dolphin. My bad :) By the way, any chance that in a future version Retrospekt could use the split-window abilities of dolphin for going back in time? That would seriously rock!

Another thing I noticed (mostly due to the absence of an exclude list), is that when I backup my home directory, stuff like the trash folder also gets backed up. This can be a serious waste of space I think, so maybe it would be nice to include some sensible defaults when you get around to finishing the exclude list :)

Configuration screen is broken as it will instantly forget any previous entries added. After manually adding all the entries I need to rsnapshot.conf, Retrospect still doesn't read them correctly.

I didn't get any further than that and wouldn't know how to, as the config screen is the only part of the program that got added to my kicker menu, and typing retrospekt results in display of the "Running retrospekt for the first time?" Dialog.

In all, a big disappointment. I might as well do the rsnapshot.conf file with rsnapshot from the command line.

As you are the first person to report this bug after 1500 downloads I am guessing it's something specific to your setup. Are you sure that your /etc/rsnapshot.conf syntax is correct? Are you trying to backup a
remote host? RetrospeKt-config doesn't currently support remote backups.
If you know how to configure the rsnapshot by hand (really not that hard) just ignore retrospekt-config. First time you use the retrospekt it tries to detech the correct backup_name and snapshot_root from your /etc/rsnapshot.conf and set the variables in ~/.retrospekt/config (please check that variables are set correctly). Once you have the functional /etc/retrospekt.conf and ~/.retrospekt/conf, retrospkt scripts should work.

It seems to ba a very cool App, but unfortunately it seems to not work here. I've set up retrospeKt using you install script. After that I set the directories to backup and the destination folder via retrospekt-config.

rsnapshot backs up successfully since 2 days now. But the context menu seems to miss the backup location. For example if I click "Move back in time" I get the message: "This directory does not exist in the backup".

If I click "Kompare" on a cerainly changed textfile I get the message: "This is the only version of this file".

Looking into the backup dir, I can see the dirs daily.0, daily.1 and daily.2. When browsing through it I can find the modified file in daily.0 and the original file in the others.

That really is strange! I can see no reason why it would fail if the paths are correct. Unless... is the mount point readable? Can you browse to that directory in konqueror as a user?
The log you sent me would indicate that no backup folder was found. For a simple 'retrospekt +' (go back in time) the log should look like this:

Hi again,
as I'm no perl programmer, there a re some well 'dangerous' parts in the following diffs.
First the crontab will be replaced without asking, second the .kmdr script is assumed to be installed in $HOME/Kommander (what is a minor problem, should work with your install, too)
Okay here are the diffs:
--- retrospekt.orig 2007-11-08 15:11:16.000000000 +0100
+++ retrospekt 2007-11-08 15:15:58.000000000 +0100
@@ -13,11 +13,11 @@
$mon{"11"}="Nov";
$mon{"12"}="Dec";

# Snapshot root directory is a directory where daily.0 directory resides.
-# It has the same value as the snapshot_root from /etc/rsnapshot.conf.
+# It has the same value as the snapshot_root from .rsnapshotrc.
# Example: snapshot_root /storage/backup

snapshot_root $snapshot_root

# Backup name is the directory the actuall backup resides inside daily.0
-# directory. It's defined in /etc/rsnapshot.conf, as the second parameter
+# directory. It's defined in .rsnapshotrc, as the second parameter
# in the 'backup' lines:
# backup <what_to_backup> <backup_name>
# Example: backup_name localhost
@@ -58,7 +58,7 @@
EOF
;
close CONF;
- system "kdialog --msgbox 'Running RetrospeKt for the first time?\nRetrospeKt will try to guess the correct values from the rsnapshot.conf\nClose this dialog and run the retrospect again.'";
+ system "kdialog --msgbox 'Running RetrospeKt for the first time?\nRetrospeKt will try to guess the correct values from the $ENV{HOME}/.rsnapshotrc\nClose this dialog and run the retrospect again.'";
#system "kate ~/.retrospekt/config";
exit 1;
}

if($saved) {
-# system "mv $conf $conf-old";
$snapshot_root=~s/\/$//; $snapshot_root="$snapshot_root/";
print "Saved\n";
- open CONF, ">/tmp/rsnapshot.conf";
+ open CONF, ">/tmp/rsnapshotrc";
open OLDCONF, "$conf";
$interval=0;
while(<OLDCONF>) {
@@ -95,25 +95,18 @@
print CONF;
}
}
- system "kdialog --msgbox 'To install the new /etc/rsnapshot.conf and crontab file, please enter your password on the next prompt!'";
- system "kdesudo -- cp /tmp/rsnapshot.conf $conf";
+ system "cp /tmp/rsnapshotrc $conf";
open CRON, ">/tmp/rsnapshot.cron";
print CRON <<EOF
-# This is a sample cron file for rsnapshot.
-# The values used correspond to the examples in /etc/rsnapshot.conf.
-# There you can also set the backup points and many other things.
-#
-# To activate this cron file you have to uncomment the lines below.
-# Feel free to adapt it to your needs.

Thanks for the patch! I agree that there should be a warning before overwriting the old rsnapshot crontab file (or a backed-up original). Will see to it in the next version.

As for the move from root->user, I am really not so sure. I see no advantage and a few serious disadvantages:
- you certainly want to backup /etc (not user readable) if nothing else
- if rsnapshot is not run by root it cannot preserve ownership data even if you have a read permission
- can't efficiently backup more than one user (it's far better to run once than for every user)

I believe it is better to run as root and if you run as root then you _definitely_ don't won't to read the commands from a user writable file (even if you trust that user).

Hi,
I only use rsnapshot for backing up some folders in my $HOME directory. I don't use it as root. So retrospekt isn't usable for me in this way. I don't login as root graphically. System's /etc/crontab is only used to run jobs in cron.daily etc. So your approach with kdesu doesn't work. Btw. copying rsnapshot.conf to /tmp, edit it & write it back via kdesu doesn't work here.
I thought your scripts are intended to be used on a per-user basis. Sorry, misunderstood your intention.
But another point:
Your install script copies all files under /usr/local. Perhaps you can use 'kde-config --prefix' to determine the location of KDE? It's still in /opt/kde3 under openSUSE for example. Would be easier for packager.

10 years ago

0.11
- cool new timeline style! (see the TIMELINE.readme or Help.html)
- Search renamed to Find
- Find: full (optional) regex support
- Find: can easily list all the files in the current directory with all the
versions of each file and all the deleted files (see Help!)
- Find: should be a bit faster (but still can take a long time)
- bug: correct nfs support (thanks dreadhead!)

0.10
- NEW! Search - locate all the files (even deleted!) that match the search string
(all the different versions of each file are also shown)
- directories are now marked in the journal
- a few cosmetic changes on the timeline