22

Is there a way I get the amazing Deja-dup to make me hourly backups in addition to daily, weekly, biweekly etc? If not, is there something else that I could use instead?

jrg
  • 61,707

4 Answers4

15

Install Scheduled Tasks:

enter image description here

Add a job to it with the following parameters (replace every minute with every hour or the schedule you want to use):

enter image description here

You can even hide the pop-up window by using deja-dup --backup --auto as the command or use X-Application: suppress outup in the default behavior drop box, it will hide the window while deja-dup runs.

Bruno Pereira
  • 74,715
14

Although it seems like the Déjà Dup code could not be easily modified to accomodate an hourly option, backups can be manually initiated and this can easily be added as a cron job that runs on the hour.

Here are the steps you need to take:

  1. Run the following two commands in a terminal to enable local access to the X server:

    xhost +local:
    xhost
    
  2. Now run this command:

    crontab -e
    
  3. If asked to select an editor, go with /bin/nano.

  4. Go to the bottom of the file and add the following line (followed by a blank line):

    15 * * * * env DISPLAY=:0 /usr/bin/deja-dup --backup
    
  5. If you selected nano in step 2, press Ctrl+O followed by Enter and Ctrl+X. (If not, then use the appropriate commands for your editor to save the file and exit.)

You're done! Your backups will now take place 15 minutes after the start of each hour (12:15, 1:15, etc.)

Nathan Osman
  • 32,495
3

Wanted to follow up on user103965's comment. This appears to be because when started from Cron, the process doesn't know about your dconf settings. From this page: https://stackoverflow.com/questions/10374520/gsettings-with-cron I was able to create a script that can be called from cron.

#!/bin/bash
export DISPLAY=:0
sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`
/usr/bin/deja-dup --backup --auto

my crontab:

*/15 * * * *  /home/useracct/bin/cronBackup
-3

you can write a simple script such as

    for i in `seq 1000`
    do
        deja-dup --backup
        sleep 20  # define the frequency of backup here
    done

then run the script in background. You can use infinite loop if you want.

qkhhly
  • 117