Advanced backup tools that keep multiple copies of files and so on have their place, but sometimes you just need a simple scheduled sync, not a full backup. For example, I have an SD card that stays in my laptop almost all the time. On this, I keep a copy of most of my home folder that gets updated every day at 1:30 in the morning. I no longer have to think about it, it just happens. Here’s how you can do the same thing:
- Install GRsync and gnome-schedule. In Ubuntu, you can install GRsync from Add/Remove programs, but gnome-schedule is only available from Synaptic.
- Open GRsync and create a new session. Choose the source folder location in the first box and the target folder in the second box. Then you can configure the options below. You will almost certainly want the “delete on destination” option. I have also selected “preserve time,” “preserve permissions,” “verbose,” “show progress,” and “Windows compatibility.”

- Move on to the advanced options tab. The most important part here is the “additional options” section. Here you can specify anything else you want to pass to rsync, the backend program that actually does the file transfer. The most useful argument you can supply is –exclude=”something”. For example, I have entered this:
–exclude=’*.iso’ –exclude=’.VirtualBox’ –exclude=’.miro’ –exclude=”.nautilus” –exclude=”.Trash”
This tells rsync to ignore any file with the extension .iso, skip the VirtualBox, Miro, and Nautilus folders, and skip the trash. If your target directory is a USB hard drive, you may not have to worry about this, but my SD card can’t fit everything, so I don’t copy some of the less important stuff.
- Press “Execute” and make sure everything works.
- Open Gnome Schedule (in Ubuntu, you can find it under System > Preferences > Scheduled Tasks. Click on new and create a recurring task. Enter whatever you want for a description and choose when you want to backup to run. Finally, enter this as the command:
grsync -e “name of session”

- That’s it!
As a bonus, if you want to be able to easily check to make sure your backup ran, create a blank text document somewhere. Then open a new black document and type this in:
#!/bin/sh
grsync -e “session name“;
touch test file location;
Save this as something.sh. Then go back in to Gnome Schedule and change the command to ./filename.sh. Remember that the command is run in the home directory, so if the script is in /home/username/files/scripts/script.sh, you have to say ./files/scripts/script.sh.
Now after every time the backup is run, the test file you created will be updated to say it was last modified at the current time.
Now you lost your excuse. Go back up!
Related posts:
- Planning Backups I’ve been thinking a lot about backups recently and am...
- Gnome Do: How To Run a Great Open-Source Project Today marked the launch of Gnome Do 0.8, a fairly...
- gOS for the Cloudbook to use GNOME If you have not already heard, SCALE, or the Southern...
- GNOME 2.20 The GNOME team recently announced GNOME 2.20. Although I knew...
- GNOME Online Desktop You may have seen the term “GNOME Online Desktop” is...
Very good advice! I upgraded to Ubuntu 9.04 recently, installed MyBook external drive and grsync + scheduled updates work fine.
Unfortunately, this will not work right that way in ubuntu, because of this bug: https://bugs.launchpad.net/ubuntu/+source/at/+bug/94933
You have to place “env DISPLAY=:0″ before each command, on the same line.
Psy[H[] – Well it works for me on Ubuntu 8.04. The bug appears to be in the ‘at’ package, which looks like it provides an interface to cron. I believe that Gnome Schedule goes directly to cron, so it shouldn’t be affected. I would be interested to know if it doesn’t work for you, though.
As I described, I have the script set up to touch a file after every run, so I am quite sure it is working for me.