Description:

Keep is a simple backup system for KDE.

The principe is pretty simple: you choose a directory to backup, you choose the directory in which you want to backup it, you set up some options (eg. frequency) and it's done! Of course you can add later some other directories.

A daemon will after take care of automatically perform backups when it's needed.

When the time comes, Keep offers you a simple wizard to recover a previously backuped directory.

It uses rdiff-backup (http://www.nongnu.org/rdiff-backup/) as backend.

Version 0.3.0 adds error, logging and notification management.

Keep still need some motivated C++/Qt coders. There is some important tasks to do: improve the log viewer, improve the notification system, implement the include and exclude file management, implement the network located backup mode...
Last changelog:

11 years ago

VERSION 0.4.0
ADD: possibility to use an inclusion/exclusion list when setting up backup source
ADD: possibility to control rdiff-backup process priority
ADD: Restore backup wizard now displays last backup date
FIX: Backup every hour bug fixed

fireboy

6 years ago

Some help please:No compression? It freezes up? scrambled file names?

Under backup options I set "Never Delete" and to "Use compression" under Extra options.
But keep will not compress any files!
The program freezes up when you select the sources to backup and click ok, you can not shut it down or cancel what you have started.

It is scrambling some of the file names when I backup to a memory stick that is fat32 formated,it's okay on a linux ext3 system. The file names look like this:
;074otter.down
;078otes.political
;080ictures
What is this???

Keep added the ";" and changed some of the letters in the file names to numbers?
Help please.TIA fireboy

Report

homoludens1000

8 years ago

Is it possible to backup ONLY hidden files using Keep? I've been experimenting with the filters, but don't seem to be able to figure it out ...

Report

FriedChicken

9 years ago

Will there be a KDE 4 Version?

Report

H00K

8 years ago

I just received an e-mail from the author, stating that he is too busy with his PhD to continue to develop Keep for a while.

He did not mention leaving it die, but did say he'd very much like seeing someone come and take over development of Keep.

So, I think the answer to your question is: if someone steps forward and takes over the porting.

I sure hope so. I fell in love with Keep's simplicity and usability :]

P.S. In that e-mail I asked him if he could include support for pre- and post- scripts (to e.g. mount and unmount en external disk if present). He likes the idea, but has not the time.

Report

reggler

9 years ago

Hi,
I keep getting this error:

An error occured making /home/reg backup:
Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 23, in rdiff_backup.Main.Main(sys.argv[1:]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 285, in Main take_action(rps) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 255, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 295, in Backup backup_set_rbdir(rpin, rpout) File "/usr/lib/python2.5/site-packages/rdiff_backup/Main.py", line 353, in backup_set_rbdir rpout.chmod(0700) # just make sure permissions aren't too lax File "/usr/lib/python2.5/site-packages/rdiff_backup/rpath.py", line 759, in chmod self.conn.os.chmod(self.path, permissions & Globals.permission_mask) OSError: [Errno 1] Operation not permitted: '/mnt/data/backup/keep'

Operation not permitted? The location wwhere i wanna back up to has permissions set to 777:
drwxrwxrwx 4 reg smb 0 2008-06-21 11:38 backup

What does "just make sure permissions aren't too lax" mean?

Thanks!

Report

KoRnholio8

9 years ago

Hi!

I have a small issue: when I backup my files to en external disc (My Book Essential; FAT32) and keep turns all the uppercase chars into code something like this ;XXX (example ;068).

If I make a directory with Dolphin it makes it just fine. I'm using Kubuntu 8.04 with KDE4.

Report

conloos

9 years ago

can i use fish to backup to a server?
if i start a backup, keep failed to connect.

Is that a kubuntu problem?

Report

okichatan

9 years ago

I know v0.4.0 fixed the backup every hour bug and mine has worked fine for about 4 months, but one day about a week ago, my one backup directory that is set for every day, started being backed up every hour according to the view log.
I'm not sure what happened on that day to start the hourly backups

My other directories set for 2-5 days between backups do NOT back every hour. - They work fine.

Any Ideas?

Report

pjfl

8 years ago

Try applying these patches

--- rdbmanager.cpp 2008-11-27 22:12:46.000000000 +0000
+++ rdbmanager.cpp 2008-11-27 22:14:24.000000000 +0000
@@ -360,7 +360,7 @@
// Gets the rdiff-backup process
KProcess *proc = RDBProcess();
// Adds the options
- *proc << "--remove-older-than" << QString("%1").arg(backup.deleteAfter()) + "D";
+ *proc << "--force" << "--remove-older-than" << QString("%1").arg(backup.deleteAfter()) + "D";
// Adds dest
*proc << backup.dest();
// Starts the process

and

--- rdblistener.cpp 2008-11-27 22:13:01.000000000 +0000
+++ rdblistener.cpp 2008-11-27 22:13:51.000000000 +0000
@@ -27,12 +27,12 @@
void RDBListener::receivedStdErr(KProcess *proc, char *buffer, int buflen)
{
m_isOk = false;
- m_stdErr.append(buffer);
+ m_stdErr.append(QString::fromLatin1(buffer, buflen));
}

void RDBListener::receivedStdOut(KProcess *proc, char *buffer, int buflen)
{
- m_stdOut.append(buffer);
+ m_stdOut.append(QString::fromLatin1(buffer, buflen));
}

QString RDBListener::errorMessage()

Report

hasinasi

9 years ago

I have the following problem: I am backing up my notebook to an external HD. Obviously, this only makes sense if the HD is present. However, I had quite severe problems with backups taking place at times I did not want it to happen. In that case, files are written to the mount path of the external HD (which is then on the internal HD). This got so bad, that my root HD got completely clogged. My X session crashed, and I could not log on again. It turned out that even after freeing some space, my system was unbootable. In the end I lost one day and had to reinstall from scratch.
In other words: I *REALLY* want to turn off the daemon permanently. How can this be done? I thought simply clicking the button in keep would do it. Apparently it didn't. Am I the only one with this issue? (I have seen few people actually having difficulties to get it running automatically).
Any ideas/suggestions would be highly welcome.
--hasi

Report

Hyperion

9 years ago

I have the same problem: I want to get rid of keep and its daemon - how can I do this? After every system-start the daemon must run (as I delete the backups before and they appera again). What is the name of it?

I Think you should also describe this on the homepage as I think this is a severe problem!

Report

hasinasi

9 years ago

Sorry, I didn't know about the home page. Can you post the URL?
Thanks,
--hasi

Report

okichatan

9 years ago

I don't know for sure because I havn't tried... but try going to KDE Control Center >>> KDE Components >>> Session Manager >>> uncheck the "keep daemon" box.

Report

archeon

10 years ago

Hi, Keep seems like a great tool so far, but I have a problem. I've set it to backup some vmware virtual machine files daily, however I don't know when within the day the Keep daemon performs the backup. I need to know so that I can set a cron job to run a script to suspend the virtual machines when the backup is about to occur. Any help would be appreciated.

Report

forlorn

10 years ago

Do you plan to port this great tool to KDE4?

Report

bazz

10 years ago

Quick question
I am doing backups over my network using smb4k.
I have set different backup folders. One folder is my wifes and one is mine. All my files are in English, and I have no problems backing them up. Now my wife puts files in her folder with Russian titles in Russian, and keep kicks out an error.
I'm not in front of my computer right now, but I could get the error and post it here if its needed.
So would this be caused by something at the OS lever of app?
Any ideas how I could fix it?
I'm sure the error would be helpful, so I will post it when I can.

Report

bazz

10 years ago

this is one of the errors

An error occured making /home/backmeup/smb4k/HOMESERVE/T's Share backup:
Exception '[Errno 5] Input/output error: "/home/backmeup/smb4k/HOMESERVE/T's Share"' raised of class '': File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 295, in error_check_Main try: Main(arglist) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 312, in Main rps = map(SetConnections.cmdpair2rp, cmdpairs) File "/var/lib/python-support/python2.5/rdiff_backup/SetConnections.py", line 75, in cmdpair2rp return rpath.RPath(conn, filename).normalize() File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 741, in __init__ else: self.setdata() File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 765, in setdata self.data = self.conn.C.make_file_dict(self.path) Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 23, in rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 295, in error_check_Main try: Main(arglist) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 312, in Main rps = map(SetConnections.cmdpair2rp, cmdpairs) File "/var/lib/python-support/python2.5/rdiff_backup/SetConnections.py", line 75, in cmdpair2rp return rpath.RPath(conn, filename).normalize() File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 741, in __init__ else: self.setdata() File "/var/lib/python-support/python2.5/rdiff_backup/rpath.py", line 765, in setdata self.data = self.conn.C.make_file_dict(self.path) OSError: [Errno 5] Input/output error: "/home/backmeup/smb4k/HOMESERVE/T's Share"

Report

bazz

10 years ago

this is what I get if a russian file or dir is in her backup folder.
An error occured making /home/backmeup/smb4k/HOMESERVE/T's Share backup:
Previous backup seems to have failed, regressing destination now. Exception 'Path: /media/storage/butterfly/rdiff-backup-data/increments/pesnya_goda_2007/pesnya_goda_2007//.2007-06-04T00:04:50-04:00.dir Index: ('pesnya_goda_2007', 'pesnya_goda_2007', '', '.2007-06-04T00:04:50-04:00.dir') Data: {'uid': 1000, 'perms': 448, 'type': 'reg', 'gname': 'backmeup', 'ctime': 1181789963, 'devloc': 5697L, 'uname': 'backmeup', 'nlink': 1, 'gid': 1000, 'mtime': 1181789963, 'atime': 1181789963, 'inode': 10748533L, 'size': 0L}' raised of class '': File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 295, in error_check_Main try: Main(arglist) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 315, in Main take_action(rps) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 271, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 334, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 51, in Mirror_and_increment DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath) File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 229, in patch_and_increment ITR(diff.index, diff) File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py", line 284, in __call__ branch.start_process(*args) File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 684, in start_process inc = increment.Increment(diff_rorp, self.base_rp, inc_prefix) File "/var/lib/python-support/python2.5/rdiff_backup/increment.py", line 41, in Increment elif mirror.isdir(): incrp = makedir(mirror, incpref) File "/var/lib/python-support/python2.5/rdiff_backup/increment.py", line 94, in makedir dirsign = get_inc(incpref, "dir") File "/var/lib/python-support/python2.5/rdiff_backup/increment.py", line 114, in get_inc assert not incrp.lstat(), incrp Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 23, in rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 295, in error_check_Main try: Main(arglist) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 315, in Main take_action(rps) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 271, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/var/lib/python-support/python2.5/rdiff_backup/Main.py", line 334, in Backup backup.Mirror_and_increment(rpin, rpout, incdir) File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 51, in Mirror_and_increment DestS.patch_and_increment(dest_rpath, source_diffiter, inc_rpath) File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 229, in patch_and_increment ITR(diff.index, diff) File "/var/lib/python-support/python2.5/rdiff_backup/rorpiter.py", line 284, in __call__ branch.start_process(*args) File "/var/lib/python-support/python2.5/rdiff_backup/backup.py", line 684, in start_process inc = increment.Increment(diff_rorp, self.base_rp, inc_prefix) File "/var/lib/python-support/python2.5/rdiff_backup/increment.py", line 41, in Increment elif mirror.isdir(): incrp = makedir(mirror, incpref) File "/var/lib/python-support/python2.5/rdiff_backup/increment.py", line 94, in makedir dirsign = get_inc(incpref, "dir") File "/var/lib/python-support/python2.5/rdiff_backup/increment.py", line 114, in get_inc assert not incrp.lstat(), incrp AssertionError: Path: /media/storage/butterfly/rdiff-backup-data/increments/pesnya_goda_2007/pesnya_goda_2007//.2007-06-04T00:04:50-04:00.dir Index: ('pesnya_goda_2007', 'pesnya_goda_2007', '', '.2007-06-04T00:04:50-04:00.dir') Data: {'uid': 1000, 'perms': 448, 'type': 'reg', 'gname': 'backmeup', 'ctime': 1181789963, 'devloc': 5697L, 'uname': 'backmeup', 'nlink': 1, 'gid': 1000, 'mtime': 1181789963, 'atime': 1181789963, 'inode': 10748533L, 'size': 0L}

Report

animimotus

10 years ago

Could be better with a wildcard possibility or a real inclure/exclude file.

For example:
~/.[A-Za-z0-9]*
~/.[A-Za-z0-9]* --exclude Trash --exclude thumbnails --include whatever

Command line seems to remain more powerful http://www.nongnu.org/rdiff-backup/examples.html

Report

animimotus

10 years ago

Could be better with a wildcard possibility or a real inclure/exclude file.

For example:
~/.[A-Za-z0-9]*
~/.[A-Za-z0-9]* --exclude Trash --exclude thumbnails --include whatever

Command line seems to remain more powerful http://www.nongnu.org/rdiff-backup/examples.html

Report

frazelle09

10 years ago

Although i have had this installed for a couple of days and it seems to backup at odd times, when i go to where the backups are, on my son's computer, and look in the rdiff-backup-data folder, i see a list of rdiff-backup.tmp. folders. All each folder contains is an empty hardlink_file1. Is this correct? Shouldn't some of these contain some changed files or something?

i am using 0.3.0 from Freespire.

Have a great evening! :)

Report

frazelle09

10 years ago

Wow, i really like this program. i hope it's development continues. i am very impressed with its use of the backend rdiff although i am still learning about it. i backup to my son's WinXP computer upstairs from my Freespire running KDE 3.3 i think. Hopefully when the update to Freespire comes out, it will contain the updated version of Keep cause i don't really know how to just download the program from KDE-Apps and install it over the one that i have.

Keep up the good work! This is a great, SIMPLE!, program for us beginner Linux fans.

Report

bsulzen

10 years ago

Is it possible to backup to SMB (i.e., smb://locationofdriveanddirectory). When I try to backup to SMB, I receive an error stating "Fatal Error: Unable to create directory smb:/locustcorphd/bsulzen/kubuntu_backups/Kubuntu_Home_Dir".

Is it because Keep is stripping one of the fowards slashes that follows the smb portion of the URI?

Any ideas? I am able to run backups to the same location using Konserve. I would prefer to use Keep because Konserve does not seem to have an option to run incremental backups.

Any help would be appreciated

Report

hbbk

10 years ago

hi seems a good pkg but here is what happen when I try to launch a backup:

Exception 'class ErrorLog has no attribute '_log_inc_rp'' raised of class 'exceptions.AttributeError': File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 295, in error_check_Main try: Main(arglist) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 315, in Main take_action(rps) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 271, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 328, in Backup backup_final_init(rpout) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 430, in backup_final_init ErrorLog.open(Time.curtimestr, compress = Globals.compression) File "/usr/lib/python2.4/site-packages/rdiff_backup/log.py", line 216, in open else: cls._log_fileobj = cls._log_inc_rp.open("wb", compress = 0) Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 23, in ? rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 295, in error_check_Main try: Main(arglist) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 315, in Main take_action(rps) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 271, in take_action elif action == "backup": Backup(rps[0], rps[1]) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 328, in Backup backup_final_init(rpout) File "/usr/lib/python2.4/site-packages/rdiff_backup/Main.py", line 430, in backup_final_init ErrorLog.open(Time.curtimestr, compress = Globals.compression) File "/usr/lib/python2.4/site-packages/rdiff_backup/log.py", line 216, in open else: cls._log_fileobj = cls._log_inc_rp.open("wb", compress = 0) AttributeError: class ErrorLog has no attribute '_log_inc_rp'

Report

xxtobi

9 years ago

Same problem for me on two different Kubuntu 7.04 machines. Keep worked fine on Opensuse 10.2 before.

Any ideas what the error messages tells us and how Keep can be convinced to work?

Thanks,
xxtobi

Report

11 years ago

VERSION 0.4.0
ADD: possibility to use an inclusion/exclusion list when setting up backup source
ADD: possibility to control rdiff-backup process priority
ADD: Restore backup wizard now displays last backup date
FIX: Backup every hour bug fixed

product-maker 57 253

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
0.4.0
updated Nov 07 2006
added Dec 26 2005
downloads today
0
page views today 0