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.
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).
You then need to choose the schedule, and basically, you're set.
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.
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.
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.
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.
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.
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.
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.
You may also like these articles:
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.