Saturday, 5 October 2013

Introducing TimeShift

TimeShift for Linux is a application that provides functionality similar to the System Restore feature in Windows and the Time Machine tool in Mac OS. TimeShift protects your system by taking incremental snapshots of the file system at regular intervals. These snapshots can be restored later to bring your system to the exact state it was in at the time when the snapshot was taken.

Snapshots are taken using rsync and hard-links. Common files are shared between snapshots which saves disk space. Each snapshot is a full system backup that can be browsed with a file manager.

TimeShift is similar to applications like rsnapshot, BackInTime and TimeVault but with different goals.

TimeShift is designed to protect only system files and settings. User files such as documents, pictures and music are excluded. This ensures that your files remains unchanged when you restore your system to an earlier date. If you need a tool to backup your documents and files please take a look at the excellent BackInTime application which is more configurable and provides options for saving user files.

I'll be posting more details later about how TimeShift works.

You can leave a comment on my blog if you need any help with this application.

Please consider making a donation to this project if you find it useful. You can also purchase a support subscription if you need additional help through email.

Features:

Minimal Setup

  • TimeShift requires very little setup. Just install it, run it for the first time and take the first snapshot. A cron job will be enabled for taking automatic snapshots of the system at regular intervals. The backup levels can be selected from the Settings dialog.

  • Snapshots are saved by default on the system (root) partition in path /timeshift. Other linux partitions can also be selected.

Boot Snapshots

  • Boot snapshots provide an additional level of backup and are taken 30 minutes after the system is started.

  • Hourly, daily, weekly and monthly levels can be enabled if required.

Better Snapshots and Rotation

  • TimeShift runs at regular 30-minute intervals but takes snapshots only when needed.

  • Applications like rsnapshot rotate a snapshot to the next level by creating a hard-linked copy. Creating a hard-linked copy may seem like a good idea but it is still a waste of disk space. This is because only files can be hard-linked and not directories. The duplicated directory structure can take up as much as 100 MB of space. TimeShift avoids this wastage by using tags for maintaining backup levels. Each snapshot will have only one copy on disk and is tagged as "daily", "monthly", etc. The snapshot location will have a set of folders for each backup level ("Monthly", "Daily", etc) with symbolic links pointing to the actual snapshots tagged with the level.

System Restore

Snapshots can be restored either from the running system or from a live CD. Restoring backups from the running system requires a reboot to complete the restore process.

Cross-Distribution Restore

You can also TimeShift across distributions. Let's say you are currently using Xubuntu and decide to try out Linux Mint. You install Linux Mint on your system and try it out for a week before deciding to go back to Xubuntu. Using TimeShift you can simply restore the last week's snapshot to get your Xubuntu system back. TimeShift will take care of things like reinstalling the bootloader and other details. Since installing a new linux distribution also formats your root partition you need to save your snapshots on a separate linux partition for this to work.

Excluded Files

TimeShift is designed to protect system files and settings. User data such as documents, pictures and music are excluded by default. This has two advantages:

  • You don't need to worry about your documents getting overwritten when you restore a previous snapshot.
  • Your music and video collection will not waste space on the backup device.

Installation

Debian/Ubuntu

If you are using the following Ubuntu releases (or any of its derivates like Kubuntu, Xubuntu, Linux Mint) then you can install it from the LaunchPad PPA:

  • Ubuntu 12.04 (precise)
  • Ubuntu 12.10 (quantal)
  • Ubuntu 13.04 (raring)
  • Ubuntu 13.10 (saucy)

Run the following commands in a terminal window:

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift

Supported Systems

TimeShift has been tested on distributions based on Ubuntu and currently only Debian (DEB) packages are avaiable. Packages for other systems like ArchLinux, Fedora, etc will be released soon after testing.

Support This Project

This software is free for personal and commercial use and is licensed under the GNU General Public License. If you find this software useful and wish to support its development, please consider purchasing a support subscription using the PayPal link below.

What you get when you purchase a support subscription:

  • Technical support through email for any issues faced while using the application.
  • Any features requested by you will be given greater priority.
  • You will be informed by email as soon a new version is released.

This application is free and open-source and will always remain that way. Please buy a subscription to show your support if you can afford it. People donating $10 or more will have their name listed as a sponsor in the application.

Options

17 comments:

  1. Works great, thank you for developing this program. Finally a simple System Restore utility for Ubuntu :-)

    ReplyDelete
  2. Waiting for an ARCH edition :)

    ReplyDelete
  3. "Snapshots are saved by default on the system (root) partition in path /timeshift. Other linux partitions can also be selected."
    Please: How? (i have the 1.1 installet atm.)

    ReplyDelete
    Replies
    1. Above the snapshot list there is a drop down for selecting the "Backup Device". Select another Linux partition from the drop down.

      Delete
  4. Thanks for the application, used it once for a successful restore ! How can you change the default file manager Timeshift uses ( I had to install Nautilus to have a working Browse button on Timeshift ). I use Elementary OS, that uses its own file manager.

    ReplyDelete
  5. Elementary OS uses pantheon-files instead of nautilus. So here is what I did :
    cd /usr/bin
    sudo mv nautilus nautilus.org
    sudo ln -s pantheon-files nautilus

    ReplyDelete
    Replies
    1. This is fixed in v1.2.2.
      Please update with the following commands:

      sudo apt-get update
      sudo apt-get install timeshift

      Delete
  6. Button "View rsync log for selected snapshot" worked only after installing gedit. Elementary OS uses scratch-text-editor.
    Gedit opens with two tabs, a tab with rsync-log and another one with Untitled Document 1. The last tab has focus.
    Just to let you know......

    ReplyDelete
  7. Thanks for TimeShift, I've been looking for something like this for a long time, I'm new at Linux and I would like to know how to restore a "Restore Point"? in a command line or a grafic (Live cd)

    Thaks a lot... and keep up the good work

    ReplyDelete
  8. Hola, como se puede hacer para restaurar desde un live CD, he buscado pero no encuentro uno que contenga el Timeshift, ademas: ¿como se puede lanzar por consola cuando se ha perdido el escritorio por culpa del xorg?

    ReplyDelete
  9. Do you like translate to spanish!?

    ReplyDelete
  10. @Nicolas,
    Puedes utilizar un LiveCD de tu distro favorita, instalarlo desde el repo oficial y ejecutarlo desde ahí. Con ello te ahorras el problema de xorg (que puedes probar con iniciando startX desde consola) ya que al cargar desde un LiveCD no encontrarás los errores que mencionas...

    (for non Spanish users,
    Nicolas is asking about how to using Timeshift from a LiveCD. I hope the solution I provide will solve his issue...)

    @C,
    FYI, I started to translating TimeShift into my mother tongue language...

    Regards,
    Benny.

    ReplyDelete
  11. Adding the PPA just hangs in Ubuntu...what's the deal?

    ReplyDelete
    Replies
    1. Is your Internet connection working properly? Try adding some other PPA.

      Delete
  12. root@eOS:~# sudo timeshift
    16:23:30 Session log file: /var/log/timeshift/2014-05-16_16-23-30.log
    16:23:30 Distribution: elementary OS 0.2 (luna)
    16:23:30 Mounted device ‘/dev/sda7′ at mount point ‘/mnt/timeshift’
    16:23:30 App config loaded: ‘/etc/timeshift.json’
    16:23:41 Using user-specified exclude-list
    xterm: bad command line option “–fullscreen”

    Error: Restore failed with exit code: 256

    Im not able top restore ? can you help

    ReplyDelete

If you are reporting an issue and commenting as an anonymous user, please leave your email address so that I can get in touch with you.