Timeshift review - Let's do the time warp again

Updated: April 27, 2018

Backup solutions for Linux-based systems are many - most of them using rsync as the backend service. In this regard, Timeshift isn't much different, but its presence of the tool in  Linux Mint 18.3 Sylvia, as well as the way it behaves prompted me to take it for a longer and more thorough spin.

Indeed, looking at the product - it's not only rsync what Timeshift does. It also supports BTRFS, and it's not just a user data backup tool, it's actually a system backup tool. Sounds interesting. And this is why we're testing.

In another di-mension

You with me so far? Good. Anyway, the tool looks simple and elegant, quite presentable. The best way to start is to launch the wizard from the top bar and follow the instructions. Timeshift offers Rsync and BTRFS options, but the latter comes with a whole lot of disclaimers, the big one being the need to actually use this filesystem. Since my Mint instance is running Ext4, we will cover Rsync, and this is most likely going to be the use case in 99% of use cases out there - sorry for the recursive blah blah. The wonders of statistics.

Main, empty

There are basically four steps in the process - choose the backup scheme. Then, Timeshift will try to estimate the size of your backup. The next step is to select the target location where you wish to store your snapshots. I decided to go for an external disk, which happens to have two partitions (NTFS and Ext4).

Wizard begin

Estimated size

Target location

Target device

You then need to choose the schedule, and basically, you're set.

Schedule

Schedule, selected

The tool has some tiny visual glitches here and there - like the right border of the Finish button, and a few other little oddities, but the workflow is quite reasonable. There's no option to choose backup mode (incremental or whatever) or encryption at this stage.

Active

Customize backup tasks

Technically, you can now click Create to run the job, to see how it works, but you can also make additional changes to your snapshot task. Essentially, these are additional Rsync flags. Again, the GUI does not reflect all the possible features, and there does not seem to be a simulate option available.

By default, Timeshift will NOT backup home directories, so this is something you should consider. Moreover, you can customize the filters - what to include and exclude from your backups, with wildcards accepted. The non-intuitively named Summary button actually lists the global exclusion list. Not sure how to override it.

Home dir selection

Filter patterns

Filters

Global exclude

Back it all up!

I decided to run the tool a few times manually to see what gives. The first run took about half an hour to complete. The estimation prediction is inaccurate. There's no pause button either.

Snapshot works 1

Run complete

Once you have a snapshot in the main menu, you can check its log, or browse the files with elevated privileges - Timeshift needs those to run properly.

Log viewer

Browse snapshot

The second run was fast - only a few minutes. Looking at the backup archive, it would appear as if the second snapshot has all the files as the first, but these are in fact hard links, which explains why it was so quick. This is a neat feature, I must say.

Second run

Completed second run

More about BTRFS

BTRFS is an excellent thing - but then, it's also complex. It has a built-in snapshot feature as part of the filesystem architecture, and that's great, only creating backups on the same disk is kind of pointless unless you run a redundant setup, like RAID 1 or RAID 5. Another restriction is that you need to use the so-called Ubuntu layout, which makes sense as we are running an Ubuntu-based distribution, but this prerequisite is not illustrated anywhere during the setup. You could install your distro in an odd way, and then realize that Timeshift cannot actually run.

BTRFS & limitations

BTRFS not available

Another clumsy aspect is that you can ONLY use one method - when I tried to setup a BTRFS entry, it deleted my Rsync one. Luckily, the actual settings were all preserved, but it is a bit frightening, as you may wonder where your snapshots have disappeared.

Lastly, I wonder how Timeshift compares to Snapper, which is a semi-enterprise tool available in openSUSE, specifically designed to run with BTRFS. Moreover, SUSE actively promotes this filesystem, which is not the case with most other distributions. Some will not even let you setup BTRFS using the classic live media. All that said, I will try to test this capability sometime in the future.

More reading

You may also like these articles:

My backup strategy

Clonezilla imaging software

Conclusion

My testing with Timeshift was satisfactory. Yes, you can accomplish all of this with a few elegant one-lines in a terminal window or through a cron-ed script. But for those less savvy in the subject matter, the program offers a convenient way to create system snapshots. It would be nice if additional features were included, like simulated runs, encryption, and tighter integration with the system a-la Snapper.

For pure data backups, you would probably want to use something else, like Grsync or a similar frontend. Then, there's also system imaging, which is always a smart thing to do. In between, Timeshift fills the gap nicely. Overall, this is a good tool, and I believe with a little bit of extra work, it can be easily extended to cover additional features and capabilities. 9/10. Take care.

Cheers.