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.

    3 years ago

    nikore90

    Simply use "Filesystem Path" instead.
    I also encrypt my external hd. It is always mounted to same path, so that's not a problem.

    Report

    3 years ago

    sideshow

    Fixed in 0.4.0. Please test if it works for you now. I tested with a luks-encrypted drive. Thanks for reporting!

    Report

    3 years ago

    Naraku

    Hi, looks really cool, but how do I add hidden folders as source?

    Report

    3 years ago

    sideshow

    Hello!

    You can find the option to show hidden folders under the "Advanced" page, in the settings for your backup plan. Then go back to select sources and they should be visible.

    Report

    3 years ago

    Naraku

    Well, not this hard to find. ;-)
    Thanks!

    Report

    3 years ago

    tesfabpel

    Hi,
    is there possible to use a SMB / CIFS (or any KIO slave) as a destionation?
    Because I've tried but it doesn't seem to be possible... Am i missing something?

    Thanks :)

    Report

    3 years ago

    sideshow

    Because the underlying "bup" program does not use kioslaves it is not directly possible, no.
    But, I'm sure there are fuse or kernel-level filesystem implementations of most network storage protocols... If you can mount a remote storage to a local folder then you can just select that local folder as the backup destination. Kup will monitor the local path to see when it appears/disappears... So the system tray icon will only be visible when the destination filesystem is actually mounted.

    Hope this helps! And I also hope this solution is good enough for people who are advanced enough to know about these things.

    Report

    3 years ago

    tesfabpel

    Yes,
    it's the thing I've done at the end...
    I've used smb4k to discover and mount the SMB share and then I've pointed Kup to that directory and it worked...
    (I'm using as the destination a NAS that uses SMB)
    Sadly, I forgot to report my solution here as soon as I had found it.

    Anyway, thanks a lot!
    Your program works really well.

    PS: It would be nice if there was a way to stop the backup. Could you implement it if you have spare time and you don't __really__ know what to do? Thanks!

    Report

    3 years ago

    luo

    Thanks for this elegant backup solution. When can we expect the rsync extension to be ready for use?

    Report

    3 years ago

    sideshow

    The rsync stuff is already done, not so well tested but so simple that I don't expect much of problems with it. But I got started doing all these other things that I now also want to finish before making a release with new features. I have a couple of weeks off from work right now so I hope to make some progress, but can't promise anything.

    If you are able and willing to compile from sources then the features are already in the master branch on github. Let me know how it goes if you do try it!

    Cheers!

    Report

    3 years ago

    luo

    Thanks for quick reply. I will wait for an updated version of the .deb package (Kubuntu) then.

    Report

    3 years ago

    warlockrf

    As far as I know Nepomuk is allready monitoring the filesystem changes.
    Wuld it be posible to communicate with Nepomuk instead of adding yet-another-FS-scanner?

    Report

    3 years ago

    sideshow

    the kup daemon doesn't do any scanning of filesystems, it only registers itself (with libsolid) to be notified when devices appear or disappear. Very lightweight, could hardly be done in any simpler or more efficient way.

    Report

    3 years ago

    ianmillington

    Hi again

    Just run it for the first time - 19Gb of data has been put on the USB drive although I can't see any files I recognise through the file manager. I assume this is because of encryption?

    Anyway the KDE Notification keeps nagging me about 1st backup and kup thinks the backup plan hasn't been run yet. There was an error log in the notification area about not copying files. If the backup had completed normally on reopening the program should I see a restore option as I cannot currently see one?

    I'll give it another go in a day or two.

    Report

    3 years ago

    sideshow

    Sorry for the late reply, I've been busy.

    So yeah, the stored files are not encrypted but are also not directly accessible. (they are chopped into small pieces which are then grouped together into big "packfiles")
    The reason for this is to save space when a file has only changed a little bit between one backup and the next.
    You can access the files if you have python-fuse installed (hopefully that should come automatically when you install bup). In that case you can plug in your backup harddrive, click the backup icon in the system tray and select "Show Files" for the backup plan. I'm working on a nicer way to do this for the next version, I'm adding a separate program to show the history of your files and allow you to open the different file versions and also to restore them... it's gonna be nice! :)

    And yes, only if the backup completes without errors will it get registered as having taken a backup (and then not ask you again about backing up... not until it is time for a new backup again.)

    Hope this helps.

    Report

    3 years ago

    ianmillington

    Hi
    Just installed the program (Kubuntu 13.04 64 bit beta 2) which looks great but I don't seem to be able to start the actual backup process.

    I'm proposing to backup to a USB Hard drive. During kup configuration the disk is detected. However the profile is at all times greyed out in the system tray and hovering over the system tray dialog it says the destination is "unavailable". This is despite the disk having been mounted and is viewable in dolphin.

    Any idea what's wrong please? I was thinking permissions but the same thing happens if I tell kup to backup as root user.

    Thanks

    Ian

    Report

    3 years ago

    sideshow

    Hey!

    Let's see.. I haven't included much of support functions in the program to help figuring out what is wrong. Let's start with the most basic things...
    1. Could you post the settings file here? It's found at .kde4/share/config/kuprc in your home folder. The important setting here is the "External drive UUID".
    2. Also please post the output from running the command "sudo blkid" while the USB drive is plugged in. The UUID should match. If the filesystem is fat32 on the USB drive it will be a bit different.

    That's what I can think of now...

    Report

    3 years ago

    ianmillington

    Thanks for that. I've not got the USB drive with me at the moment but I can tell you I have it formatted as ext4.

    Below is the content of my kuprc file :
    "
    [Kup settings]
    Backups enabled=true
    Number of backups=1

    [Plan/1]
    Description=Ian
    External drive destination path[$e]=Home_Backups
    Paths excluded=/home/ian/.thumbnails,/home/ian/.cache,/home/ian/Music,/home/ian/Virtual Machine
    Schedule type=0
    Show hidden folders=true
    "
    I have inserted the quotes to show the beginning and end. One thing does seem clear - no UUID! Maybe I should rename the kuprc file and start from scratch lol!

    Thanks for the help

    Report

    3 years ago

    sideshow

    I just realized that when you configured your backup plan you probably did not select the USB drive after it appeared in the list of devices. That will have this consequence. You basically configured a backup plan without a destination.

    Perhaps it is not obvious that the entry about your USB drive that shows up is an item in a list and that it needs to be selected.
    I will modify the configuration module to automatically select the first entry that shows up when the list is empty. That should make this confusion less likely. I will also make it display a warning message if you do click "OK" without having plugged in a drive.
    Thanks you for reporting this instead of just giving up and moving on...!

    Report

    3 years ago

    ianmillington

    I thought I had but maybe didn't (presumably it would otherwise be reflected in the config file) so hopefully giving it a good "click" will solve it. Hope so as it looks to me a very nice program.

    By the way - don't worry about me just giving up and moving on - if I did that I wouldn't have been a linux user the last few years. lol! Thanks for the help.

    Report

    4 years ago

    snowweb

    Sorry about the Re...Re..!

    The version I'm using is:

    Version: 0.22a-1 (for i386)

    I'm not sure how to find which repo supplied it, but I have a clean new install of Kubuntu 12.04.2 and only added one additional repo so far, which I think was 'extras' maintained by Canonical. I'd love to use the latest version of things like bup, but unless there's a repo I can add with it in, it's hard to do that.

    Regarding the dialogs in the application, I do have a couple of suggestions:

    1) How about "Locally Attached External Storage" as a label, instead of "External Storage"?

    2) The box where I assume detected external storage shows up, should be labelled "Detected external devices:" because if nothing is detected you're left wondering what should be in there!

    3) When using the Local Storage option I think the folder field should be labelled, "Path to Backup Directory". I think if it is not too difficult to add tooltips, they would be useful here to be able to add, "May include mounted network drives, etc."

    4) Also I would recommend an information screen to be displayed each time the configuration screen is opened, until a check is removed labelled, "Show this screen every time". In there, it would be useful to see a couple of paragraphs about what to expect to happen when you perform the setup, ie, "When you first enable backups on a directory, a '.git' folder will be created in the top level directory, which you should not delete, and the included contents will immediately be indexed. If you disable backups at any point, it will be automatically removed. A cron job is also added under the user, blah, blah.."

    That kind of information would make it a bit easier for people to begin troubleshooting permissions issues, etc. I think.

    I also noticed and am not sure if this is related to my bup issues or not, that when I start the laptop, if my directory becomes available after Kup has started, Kup continues to report the backup location as not available, even after it is. It would be great if things like this were less of a mystery by including information regarding how this monitored and the frequency of monitoring.

    One last thing, I'm interested to know the effect of the storage becoming unavailable, part way through a backup or if the user shuts down their machine?

    Thanks, for what promises to be among the 'must have' utilities of Linux in the future. Great job!

    Regards,

    Peter

    Report

    4 years ago

    sideshow

    I have done some updates this weekend, based on the feedback here.

    I've added checks for existance and version of bup, both in the config UI and in the daemon.

    I have also modified the config UI for selecting backup destination, some nice new things there I think!

    Anyone interested enough can try to compile and install the latest version from git. Please comment here or message me if any new isssues are found.

    Thanks again to everybody providing feedback!

    Report

    4 years ago

    snowweb

    Great, will give it a try.

    GIT's no problem, compiling might be, but will see what I can do (I originally installed from a .deb).

    Will get back to you.

    Thanks.

    Report

    4 years ago

    snowweb

    I can't find any differences with this new version. I'm wondering if maybe the upgrade wasn't installed properly here? I have restarted the computer but it still looks like I have the previous version.

    This is the output from the terminal for the "make install" step:

    $ sudo make install
    Generating moc_kupsettings.cpp
    [ 0%] Built target kupsettings_automoc
    Scanning dependencies of target kupsettings
    [ 4%] Building CXX object settings/CMakeFiles/kupsettings.dir/kupsettings_automoc.o
    Linking CXX static library ../lib/libkupsettings.a
    [ 14%] Built target kupsettings
    Generating moc_backupplanwidget.cpp
    Generating moc_kupkcm.cpp
    Generating moc_planstatuswidget.cpp
    Generating moc_driveselection.cpp
    Generating moc_folderselectionmodel.cpp
    [ 14%] Built target kcm_kup_automoc
    Scanning dependencies of target kcm_kup
    [ 19%] Building CXX object kcm/CMakeFiles/kcm_kup.dir/kcm_kup_automoc.o
    Linking CXX shared module ../lib/kcm_kup.so
    [ 47%] Built target kcm_kup
    [ 52%] Built target actions for org.kde.kup.runner
    Generating moc_edexecutor.cpp
    Generating moc_kupdaemon.cpp
    Generating moc_fsexecutor.cpp
    Generating moc_bupjob.cpp
    Generating moc_planexecutor.cpp
    [ 52%] Built target kupdaemon_automoc
    Scanning dependencies of target kupdaemon
    [ 57%] Building CXX object daemon/CMakeFiles/kupdaemon.dir/kupdaemon_automoc.o
    Linking CXX executable kupdaemon
    [ 85%] Built target kupdaemon
    Generating moc_buphelper.cpp
    Generating moc_bupjob.cpp
    [ 85%] Built target kuphelper_automoc
    Scanning dependencies of target kuphelper
    [ 90%] Building CXX object daemon/CMakeFiles/kuphelper.dir/kuphelper_automoc.o
    Linking CXX executable kuphelper
    [100%] Built target kuphelper
    Linking CXX shared module CMakeFiles/CMakeRelink.dir/kcm_kup.so
    Building CXX object daemon/CMakeFiles/kupdaemon.dir/kupdaemon_automoc.o
    Linking CXX executable CMakeFiles/CMakeRelink.dir/kupdaemon
    Linking CXX executable CMakeFiles/CMakeRelink.dir/kuphelper
    Install the project...
    -- Install configuration: "RelWithDebInfo"
    -- Installing: /usr/local/lib/kde4/kcm_kup.so
    -- Installing: /usr/local/share/kde4/services/kcm_kup.desktop
    -- Installing: /usr/local/bin/kupdaemon
    -- Installing: /usr/local/share/autostart/kupdaemon.desktop
    -- Installing: /usr/local/share/apps/kupdaemon/kupdaemon.notifyrc
    -- Installing: /usr/local/lib/kde4/libexec/kuphelper
    -- Installing: /usr/share/polkit-1/actions/org.kde.kup.runner.policy
    -- Installing: /usr/local/etc/dbus-1/system.d/org.kde.kup.runner.conf
    -- Installing: /usr/local/share/dbus-1/system-services/org.kde.kup.runner.service
    -- Installing: /usr/local/share/icons/hicolor/32x32/actions/./kuprunning.mng
    -- Installing: /usr/local/share/icons/hicolor/scalable/apps/./kup.svgz

    How can I tell if I'm now running the new package?

    Should I have removed the old package first?

    Report

    4 years ago

    sideshow

    Yes, I'm guessing the old one is the one that gets started. Actually I'm not even sure if the KDE system settings app can find modules installed under /usr/local...
    Try uninstalling the old one first, if it's not starting after that then I guess you will need to install the self-compiled one under /usr:

    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=/usr ..
    make
    sudo make install

    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 14534
    support sideshow
    For The Product
    Kup Backup System
    5 - 10 - 25 - 50 - 100 - 200 - 500