Have you ever wondered how you can backup and restore your Ubuntu or Debian system ? Timeshift is a free and opensource tool that allows you to create incremental snapshots of your filesystem. You can create a snapshot using either RSYNC or BTRFS.
With that. let’s delve in and install Timeshift. For this tutorial, we shall install on Ubuntu 18.04 LTS system.
Installing TimeShift on Ubuntu / Debian Linux
TimeShift is not hosted officially on Ubuntu and Debian repositories. With that in mind, we are going to run the command below to add the PPA:
Note: This is only required up to Ubuntu 18.04 LTS and on Ubuntu 20.04 LTS, there is no need to setup ppa as timeshift package is available in default repositories
# add-apt-repository -y ppa:teejee2008/ppa
Next, update the system packages with the command:
# apt update
After a successful system update, install timeshift by running following apt command :
# apt install timeshift
Preparing a backup storage device
Best practice demands that we save the system snapshot on a separate storage volume, aside from the system’s hard drive. For this guide, we are using a 16 GB flash drive as the secondary drive on which we are going to save the snapshot.
# lsblk | grep sdb
For the flash drive to be used as a backup location for the snapshot, we need to create a partition table on the device. Run the following commands:
# parted /dev/sdb mklabel gpt # parted /dev/sdb mkpart primary 0% 100% # mkfs.ext4 /dev/sdb1
After creating a partition table on the USB flash drive, we are all set to begin creating filesystem’s snapshots!
Using Timeshift to create snapshots
To launch Timeshift, use the application menu to search for the Timeshift application.
Click on the Timeshift icon and the system will prompt you for the Administrator’s password. Provide the password and click on Authenticate
Next, select your preferred snapshot type.
Click ‘Next’. Select the destination drive for the snapshot. In this case, my location is the external USB drive labeled as /dev/sdb
Next, define the snapshot levels. Levels refer to the intervals during which the snapshots are created. You can choose to have either monthly, weekly, daily, or hourly snapshot levels.
On the next Window, click on the ‘Create’ button to begin creating the snapshot. Thereafter, the system will begin creating the snapshot.
Finally, your snapshot will be displayed as shown
Restoring Ubuntu / Debian from a snapshot
Having created a system snapshot, let’s now see how you can restore your system from the same snapshot. On the same Timeshift window, click on the snapshot and click on the ‘Restore’ button as shown.
Next, you will be prompted to select the target device. leave the default selection and hit ‘Next’.
A dry run will be performed by Timeshift before the restore process commences.
In the next window, hit the ‘Next’ button to confirm actions displayed.
You’ll get a warning and a disclaimer as shown. Click ‘Next’ to initialize the restoration process.
Thereafter, the restore process will commence and finally, the system will thereafter reboot into an earlier version as defined by the snapshot.
As you have seen it quite easy to use TimeShift to restore your system from a snapshot. It comes in handy when backing up system files and allows you to recover in the event of a system fault. So don’t get scared to tinker with your system or mess up. TimeShift will give you the ability to go back to a point in time when everything was running smoothly.