Description:

Kup is created for helping people to keep up-to-date backups of their personal files. Connecting a USB hard drive is the primary supported way to store files, but saving files to a server over a network connection is also possible for advanced users.

When you plug in your external hard drive Kup will automatically start copying your latest changes, but of course it will only do so if you have been active on your computer for some hourse since the last time you took a backup (and it can of course ask you first, before copying anything).
In general Kup tries to not disturb you needlessly.

There are two types of backup schemes supported, one which keeps the backup folder completely in sync with what you have on your computer, deleting from the backup any file that you have deleted on your computer etc. The other scheme also keeps older versions of your files in the backup folder. When using this, only the small parts of your files that has actually changed since last backup will be saved and therefore incremental backups are very cheap. This is especially useful if you are working on big files. At the same time it's as easy to access your files as if a complete backup was taken every time; every backup contains a complete version of your directories. Behind the scenes all the content that is actually the same is only stored once. To make this happen Kup runs the backup program "bup" in the background, look at https://github.com/bup/bup for more details.

One important note is that bup will work regardless of which filesystem is used on the external drive. You can use NTFS or FAT32, unlike some other backup solutions which require hard links to work!

Download
You can find software packages to download for many linux distros at http://download.opensuse.org/repositories/home:/simper:/kup

What the Kup backup system consists of
  • Configuration module, available in your system settings. Here you can configure backup plans, what to include, where to store the backup and how often. You can also see the status for the backup plans here.

  • A small program running in the background. It will monitor to see when your backup destination is available, schedule and run your backup plans. It has a system tray icon that shows up when a backup destination is available.

  • Kioslave for accessing bup archives. This allows you to open files and folders directly from an archive, with any KDE application.

  • A file browsing application for bup archives, allowing you to locate the file you want to restore more easily than with the kioslave. It presents a merged view: inside each saved folder you can see all the files it ever contained (well, that has been backed up at least). Select a file and you can see which different versions of this file that exists in the bup archive. You can open and view the files from here and it also helps you restore files or folders.


  • Detailed list of features
  • backup types:
    - Synchronized folders with the use of "rsync".
    - Incremental backup archive with the use of "bup"

  • backup destinations:
    - local filesystem path, monitored for availability. That means you can set a destination folder which only exist when perhaps a eSATA harddrive or a network shared drive is mounted and Kup will detect when it becomes available.
    - external storage, like usb hard drives. Also monitored for availability.

  • schedules:
    - manual only (triggered from tray icon popup menu)
    - interval (suggests new backup after some time has passed since last backup)
    - usage based (suggests new backup after you have been active on your computer for some hours since last backup).


  • Needed backup programs

    To actually create backups of your data you will need either "bup" or "rsync" installed. They
    provide the implementations for the two different types of backups that Kup supports.

    Helping out
    If you want to help out with translation, check out
    https://www.transifex.com/projects/p/kup/. There you can see the current status of all current languages and also request a new language to be added!

    If you feel like helping out with coding, please have a look at the code and the list of issues at the github page:
    https://github.com/spersson/Kup

    Please report any issues at the github page!

    If you do test new features that are not in a released version yet, please let me know if it works or not. This project is still small enough that it is very useful to get feedback on any testing done.

    Changelog:

    9 months ago

    Kup Version 0.6.1
    2016-06-13:
    - Show hard drives that are not listed as hotpluggable, but still considered removable. Fixes some cases where a plugged in USB3 harddrive did not show up and could not be selected as backup destination.
    - Now allows free selection of unreadable folders but instead warns the user about any unreadable files or folders in the set of current folders to be backed up.
    - Now detects if there are any symbolic links being backed up that points to something not being backed up. Shows a warning in that case.
    - Updated translations, added Bosnian language.
    - Improved messages in the log file.
    - Bugfix for the case of no folder selected in the source selection. The entire folder selection tree was impossible to use because of a bug in Qt.
    Kup Version 0.6.0
    2015-05-14:
    - Ported the whole application to KDE Frameworks 5.
    - Small bugfix for detecting problem with write permission for the backup destination.
    - Please note that there are not so many other applications ported yet, so looking at files directly from backup archive (without restoring the files first) can be a problem. Applications based on KDE libraries version 4 will not be able to peek inside a bup backup archive. If you need that, keep using 0.5.1 instead.
    - The default version linked from here is still 0.5.1, packages and source code for 0.6.0 is available at https://build.opensuse.org/package/show/home:simper:kup/kup-kf5
    - Ubuntu packages are available at https://launchpad.net/~martin-loschwitz/+archive/ubuntu/kup/+files/kup_0.6.0-2_amd64.deb

    Kup Version 0.5.1
    2015-03-20:
    - Bug fix for source selection: there was a situation where the folder selection collapsed and could not be expanded when dealing with hidden folders, this has now been fixed.
    - Expand to show selected hidden folders when enabling "show hidden folders".
    - Add ".local/share/Trash" as a default exclude for new backup plans.
    - Change how includes and excludes are shown in the source selection, hopefully this way it should be clearer what will be backed up.
    - Add an error message, correct some texts, update all translations. Contains big improvements to polish, german, italian and portugese translation.

    Kup is now available in 12 languages, 7 of them are complete translations! The remaining 5 are about 70% translated.

    Kup Version 0.5.0
    2014-10-25:
    - Add option to generate recovery information that can be used to fix broken bup backup archive.
    - Add option to do integrity testing of bup archive every time a new backup is taken. In case something is broken and you are generating recovery information it will ask you if you want to try repairing the files.
    - Now the configuration dialog warns about dataloss when using rsync in combination with fat32 or ntfs.
    - Keep a log file of last backup job, can be viewed from system tray menu.
    - Bugfix for viewing files in a bup archive containing more than 1000 separate backups.
    - Cosmetic fixes and more informative texts in the configuration dialog.
    - Add complete translation to Chinese(taiwan) and Lithuanian.

    Kup Version 0.4.2
    2014-05-09:
    - Bug fix: store bup index in backup so that .bup folder in home directory is not needed, it was not being initialized anyway.. that was the real bug.
    - Bug fix: allow user to select sources from /run. Internal hard drives could be mounted there, so it's a valid usage scenario.
    - Bug fix: fix starting the monitoring process when enabling backups for the first time.

    Kup Version 0.4.1
    2014-03-15:
    - Bug fix: detect when a new filesystem is mounted on a monitored path.
    - Now with complete German, Polish, Russian, French, Portugese, Spanish, Tagalog, Swedish and Italian translations. Woohoo! A big "thank you" to all translators!

    Kup Version 0.4.0
    2014-01-25:
    - Bug fix: detect encrypted partitions on external hard drives.
    - Small update to keep up-to-date with new metadata format in bup v0.25
    - Add German, Italian and Swedish translations. Tagalog and Spanish are still only partial.

    Kup Version 0.4.0 beta 1
    2013-10-08:
    - Add kioslave for accessing files and folders directly from any git archive (including bup archives, of course!). Comes complete with support for metadata scheduled to be available with the soon-to-come 0.25 version of bup. Please test! Just type "bup://" in a kde-based filemanager (dolphin, konqueror, krusader et al)
    - Add a new application called filedigger, it helps you find the right version of a file and then also helps you restore that file. You can open folders and files to have a look at them before restoring, thanks to the new kioslave.
    - Add rsync-type of backups.

    Please help test the above new features! And now is also the time to translate all the new texts, please help adding your language!

    Kup Version 0.3.2
    2013-05-20:
    - Add german, italian and tagalog translations.
    - Make it more difficult to create a backup plan without a destination. (Select first usb drive automatically when connected, warn user if no drive is selected when saving)

    Kup Version 0.3.1
    2013-03-09:
    - Fix running with older versions of bup by removing compression level option, not useful for most people anyway.
    - Check if bup is installed, notify user if not.
    - Add spanish translation.

    Kup Version 0.3
    2013-02-20:
    - Adds an option to take the backup as root. Useful when you want to backup system files which needs root access to read.
    - Now checks if you are inactive (no mouse or keyboard activity) when accumulating usage time. For instance, Kup will no longer count time watching a movie on your computer as active usage time.
    - Adds ability to configure which compression level is used for backups.
    - Adds the option of selecting/deselecting hidden folders.
    - Adds infrastructure for translations and a swedish translation. Help with other languages would be appreciated!
    - Now sets the CPU and (on linux) the IO scheduler priority of the backup processes to be very nice, just to minimize risk of a running backup disturbing you.
    - Fixes a couple of bugs in the folder selection tree.
    - Shows more info about external drives connected and now also remembers more info about the drive you have selected.
    - Now uses the bup index file in your home directory instead of having the index file located in the destination archive. This can perhaps give better performance in some scenarios, not tested.
    - Adds a few hidden folders in your home directory as default excludes, should be useful for most people.

    Kup Version 0.2
    2012-02-13:
    - Introduced a new scheduling mode, Usage. Monitors how long you've been logged in since last backup was taken and suggests new backup after configured number of hours. Made this scheduling mode the default.
    - Made a new systray icon (supposed to look like a safe... you judge..).
    - The progress notification thing was just ugly & annoying, removed it. Now just showing an animated icon when taking a backup.
    - Added option to never ask user before starting to take a new backup.
    - Improved error reporting
    - Big code cleanup for more maintainable code
    - Made the config module's way of detecting/starting the daemon process more reliable.
    - Systray icon tooltip now contains info on backup plan status.
    - Systray icon now shows up with a red warning symbol if a plan has "bad" status; more than three times the backup interval has passed since last backup.
    - Bug fix, already plugged in devices didn't show up in the list for selecting external destination drive.
    - Bug fix for local filesystem destination: now detects if destination folder becomes available after a mount.

    Kup Version 0.1
    2011-12-09:
    - Initial release.

    4 years ago

    snowweb

    OK, thanks. Solved that and am now running the new version.

    Nice work on the configuration options. That's a lot clearer now for me.

    But I'm getting this error when I try to run a backup:

    Backup did not complete successfully:</nl><i>error: option -0 not recognized<br>usage: bup save [-tc] [-n name] <filenames...><br><br> -r, --remote ... hostname:/path/to/repo of remote repository<br> -t, --tree output a tree id<br> -c, --commit output a commit id<br> -n, --name ... name of backup set to update (if any)<br> -d, --date ... date for the commit (seconds since the<br> epoch)<br> -v, --verbose increase log output (can be used more than<br> once)<br> -q, --quiet don't show progress meter<br> --smaller ... only back up files smaller than n bytes<br> --bwlimit ... maximum bytes/sec to transmit to server<br> -f, --indexfile ... the name of the index file (normally<br> BUP_DIR/bupindex)<br> --strip strips the path to every filename given<br> --strip-path ... path-prefix to be stripped when saving<br> --graft ... a graft point *old_path*=*new_path* (can be<br> used morethan once)<br></i>

    Report

    4 years ago

    sideshow

    After you mentioned this problem the first time I did add a check for which version of bup is installed and then not use the compression level argument if the version is too old.
    I thought I had tested and seen that it was working now.
    Hmm.. if you run "bup version" what does it say?
    And are you sure you are running the new, self-compiled, version of kupdaemon?

    Report

    4 years ago

    snowweb

    Strange... no reply to option on your last post!

    Anyway, I tried "bup version" as you requested but the response was "unknown-".

    I then did the following:
    $ dpkg -s bup
    Package: bup
    Status: install ok installed
    Priority: extra
    Section: admin
    Installed-Size: 680
    Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
    Architecture: i386
    Version: 0.22a-1
    Depends: libc6 (>= 2.4), python (<< 2.8), python (>= 2.7), python-support (>= 0.90.0), git (>= 1:1.7.0.4-2) | git-core, python-fuse, python-tornado (>= 1.0.1-1)
    Recommends: par2
    Description: highly efficient file backup system based on git
    bup is a backup tool which stores the backups in a system based around
    the packfile format from git.
    Original-Maintainer: Jon Dowland <jmtd@debian.org>
    Homepage: http://github.com/apenwarr/bup

    Regarding whether I'm now using the newly self-compiled version of Kup or not, I completely removed the previous version, which was installed from a .deb, then verified it had gone, then compiled the new obtained via GIT.

    I noticed some differences in it, it still had the compression option, but it also has some extra text around the options and in the display area for externally detected devices, there was some new text in there, explaining about it.

    I've also restarted the machine since too but still get that error. I'm wondering if maybe you are using the "bup version" method to get the version number programmatically (which fails on my machine) and whether it might succeed if you were using "dpkg -s bup"?

    Report

    4 years ago

    sideshow

    You're right. The change I did last saturday was to run "bup version" and check the output, compare it to "0.25" to see if the installed version can handle the compression level argument.

    I did not write the software to handle "unknown"... hmm... what to do about that...? hmm hmm..

    Either ignore the problem, hoping that packaged versions of bup will become better soon. I'm guessing the "unknown" version is because of how the ubuntu guys compiled the package..
    Or add some more sanity checks to Kup, if the version string is strange then it would play it safe and remove compression level.
    Or remove the whole compression level thing again.. I don't think it's a very useful thing anyway. Starting to regret adding it. Maybe put it back when bup version 0.25 has been out so long that everybody runs it.

    Getting tired just thinking about it.... would be nice to hear if anyone has an opinion on this.
    I'm just gonna finish adding rsync support to kup, uploading to github soon. Then it's time to sleep.

    Report

    4 years ago

    snowweb

    Sorry, still no reply option on your posts (for me at least).. weird!

    Anyway, I always thought GIT did a pretty good job of doing the right thing with compression without any help. It's pretty efficient anyway, so I for one won't miss the compression option (particularly if it's a bit of a 'red-herring' and doesn't really make a lot of difference.

    I think you're doing a great job over-all. It will be great to be able to do my backups with GIT. Thanks for your efforts.

    Report

    4 years ago

    snowweb

    I've configured the options and input a path to a NFS folder in the external storage folder field (/mnt/NAS/backups/) but the icon in the system tray still has that backup greyed out in the menu and when scheduled it doesn't run either.

    I've confirmed that the drive is mounted and accessible. What could be wrong please?

    (I also have installed 'bup')

    Thanks. If I can get it working, I rekon I might switch from Rsnapshot which I've been using for the last few years.

    Report

    4 years ago

    snowweb

    I've just moved the path in to the local storage field thinking that the external storage field might be for detected USB storage, rather than network storage.

    Still doesn't work though. I did notice that if I enter "cupdaemon status" at the command line, it says, "Kup is not enabled. Enable it from the system settings module."

    According to the system settings module, I have checked "Backups Enabled".

    Report

    4 years ago

    snowweb

    I've just moved the path in to the local storage field thinking that the external storage field might be for detected USB storage, rather than network storage.

    Still doesn't work though. I did notice that if I enter "cupdaemon status" at the command line, it says, "Kup is not enabled. Enable it from the system settings module."

    According to the system settings module, I have checked "Backups Enabled".

    Report

    4 years ago

    snowweb

    I've got that working now - my fault, it was permissions issue, but now I seem to have another issue...

    Backup did not complete successfully:</nl><i>error: option -1 not recognized<br>usage: bup save [-tc] [-n name] <filenames...><br><br> -r, --remote ... hostname:/path/to/repo of remote repository<br> -t, --tree output a tree id<br> -c, --commit output a commit id<br> -n, --name ... name of backup set to update (if any)<br> -d, --date ... date for the commit (seconds since the<br> epoch)<br> -v, --verbose increase log output (can be used more than<br> once)<br> -q, --quiet don't show progress meter<br> --smaller ... only back up files smaller than n bytes<br> --bwlimit ... maximum bytes/sec to transmit to server<br> -f, --indexfile ... the name of the index file (normally<br> BUP_DIR/bupindex)<br> --strip strips the path to every filename given<br> --strip-path ... path-prefix to be stripped when saving<br> --graft ... a graft point *old_path*=*new_path* (can be<br> used morethan once)<br></i>

    Report

    4 years ago

    sideshow

    Damn, it's not the first time I forget to check in which version a bup command line option was added.
    In this case newer versions of bup support setting the compression level, seems like the version you have doesn't. Which version of bup do you have? Is it included in your distribution or did you install bup from somewhere else? Which distro?

    Perhaps I should find out which version is needed and add that in the Kup package dependancy information. I hope there will be a new release of bup soon and that most distros will package it.

    Or.. I could also adapt Kup to check the version of bup installed and only use supported command line options. Hmm... I will see.

    Report

    4 years ago

    sideshow

    Do you have a suggestion for how the texts in the configuration UI could be improved?
    To make it more obvious that "external storage" is something like a usb drive, detected via the device ID number (this could then end up being mounted where ever..).
    Compared with "local filesystem" which is just a folder path, and Kup just checks to detect when that folder exists.

    Report

    4 years ago

    paulus3005

    Backup of a directory with a size of 12 GiB gives a backup of 12,1 GiB with a compression level of 0% and with a compression level of 100% 12,1 GiB.

    Report

    4 years ago

    sideshow

    Maybe a bit silly of me but once I had added an "advanced options" page, I didn't want it to look so empty... This option was thrown in quickly because it was so easy to implement. :)

    So I never actually tested the effect of the option and I did suspect it wouldn't have much effect.
    Most file formats for stuff that takes much space (music, video, photos... ) are already compressed, so trying to compress more doesn't help. Then you have a few text files maybe, they can be nicely compressed but perhaps only takes a few kB anyway... so you can't notice the effect on a GB-sized backup with mostly photos and music.

    Anyway, that's just me thinking of what could explain your results, of course I don't know what type of files you have backed up.

    Report

    4 years ago

    avlas

    That's why I'd like Kup to accept different backends, especially rsync. That would be really neat (!) as currently a lot of people rely on rsync for their backups.

    Would this be difficult to implement?

    Report

    4 years ago

    sideshow

    Hmm.. hadn't thought of that. I think I like the idea of offering two types of backups. Either the backup is just a copy of your files, kept in sync by using rsync. Or it's a bup archive with old versions of your files. Both have their distinct uses, advantages and disadvatages.
    If so, I would not like to offer configuration UI for 10 000 different rsync options, I'm trying hard to find the right balance of what stuff to offer.

    We'll see what the future brings.. :) Anyway, thank you!

    Report

    4 years ago

    sideshow

    Oh, and no, it would not be hard to implement. The running of bup commands is contained in only one part of the software. Could easily make that part pluggable/replaceable.

    Report

    4 years ago

    avlas

    Great that you are considering it.

    Looking forward!

    Report

    4 years ago

    sideshow

    If you want to try you can find support added to git already, just did some basic tests but looks ok for me so far.
    Only thing I know is that I need to fix the "view files" action in the menu to not mount bup-fuse for a rsync-type of backup.

    Report

    4 years ago

    Contrast

    This might be the best back-up system I've seen for Linux. Great work!

    I installed Kup from the Ubuntu 12.10 package, and was initially having some problems. Whenever I tried to manually invoke a back-up, Kup would complain about the destination. It turns out the actual cause was bup wasn't installed. So just FYI, you might want to 1) have Kup offer to install bup if it's not found (similar to how K3B offers to install extra codecs), 2) add bup as a dependency to the Ubuntu package.

    Thanks for all your hard work on this project.

    Report

    4 years ago

    sideshow

    Thanks, very nice to get constuctive feedback!

    And yes, quite foolish of me to not remember adding bup as a dependancy. If ever backends are made pluggable then I guess it would make sense to allow installation from the config UI instead of having a fixed dependancy.

    Report

    4 years ago

    plaristote

    Hey !

    Currently bup is executed by the user, so it's perfect for a backup of work things and all...
    I'm already using Kup for backing up my work, but I would like to use it as well to back up my whole system and be able to get back after an update or when I do something stupid to it.

    To do this, bup would need to be executed as superuser.
    Would it be possible to add a feature so that kup can execute some backups as superuser ?

    Report

    4 years ago

    sideshow

    Hey there!

    When Kup only existed in my head the plan was to use kauth/policykit to be able to run the backup as root. When doing the research it turned out that kauth does not support running a process as the same (calling) user (kinda no-op, so I guess it makes sense in a way..), that means I needed two different solutions for the part that runs the bup processes (in use cases when only backing up user files it would be annoying to type password and run it as root!). So far I only did the easy solution, the one that just runs it directly as the calling user. I also realized that for myself it does not make much sense to run it as root. I use btrfs for snapshotting/rollback of my system in case of a bad upgrade. And I use a backup boot cd to take complete HD image for the case of HD failure, much better since then I have something to restore the backup with! Kup is pretty useless in that scenario. (Maybe someone is interested in making a boot cd with a minimal graphical bup-based backup app on it? Would be nice!)
    So... that hopefully explains why I haven't done it yet. So far Kup is mostly developed for my own needs. But I do hope to improve it and make it more generally useful! And all feedback, like from you, makes me more motivated. So thank you for that! Can I ask what your use case is?

    Report

    4 years ago

    plaristote

    If I used Btrfs maybe I wouldn't need it indeed.
    Right know I just want to be able to:
    - Check out old versions of configuration files
    - Get back old version of installed libs
    - Being able of restoring everything from a backup

    If I just launch the kupdaemon with sudo (it should preserve the configuration path right ?), could I make the system backup ?
    After all it's true that there's no real need for bup in this regard, the new generation of filesystems already provide more appropriate ways of restoring.

    Thank you for making Kup available to us by the way !

    Report

    4 years ago

    sideshow

    Ok, new version out with ability to run as root. Please let me know if there are any problems.
    Enjoy! :)

    Report

    4 years ago

    avlas

    I just tried to run backup as root and it gave me an error.

    Is there a debug command I could use in the terminal to give you some more specific information?

    Thanks

    Report

    Supporters

    Recent Donations

    Be the first to donate
    Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
    Score 85%
    85.00 Likes
    15 Dislikes

    0 Supporters for Kup Backup System:

    Recent Donations:

    Be the first to donate
    show all
    Details
    version
    0.6.1
    updated Nov 09 2016
    added Dec 08 2011
    downloads
    page views 14535
    support sideshow
    For The Product
    Kup Backup System
    5 - 10 - 25 - 50 - 100 - 200 - 500