Taking Linux System Snapshots with Timeshift

02 Feb, 2021
Timeshift is a Linux application that is built for providing functionality to restore your system just like when you restore a Windows system. Timeshift makes snapshots of your system in regular intervals which are further used at the time of restoration or undo all changes in the system.
Each Snapshot taken by Timeshift is a complete system backup that can be located in a file system. Timeshift is designed to protect system files and settings where user files such as documents, pictures, and music are excluded.
Timeshift is easy to use and install, you can directly start taking snapshots after installation and there is no need to do other configuration setups.
Snapshots are saved in the root partition in directory /timeshift as default. To avoid any uncertainty it is best to save snapshots in external storage mediums.
Timeshift creates boot snapshots that provide an additional level of backup and are created every time the system starts. Boot snapshots created by Timeshift have a delay of 10 minutes so that the system boot process is not affected.
Installing Timeshift is simple, you can use your terminal and add the repository to install it or you can download the file from the official website and install it after extracting it. 
To install Timeshift in Ubuntu-based distributions use the following commands:
sudo add-apt-repository -y ppa:teejee2008/ppa
Before installing the tool please update your apt-get:
sudo apt-get update
sudo apt-get install timeshift
If you are using other Linux distributions then you can download the installer from https://github.com/teejee2008/Timeshift/releases.
Linux’s distributions do come with a default package installer for .deb files, you can simply click install and complete the installation. However, if you do not have a package installer you can use the following command:
sudo sh ./timeshift.deb
Where ./timeshift.deb will be your complete file name. 
Firstly there are two types of snapshots supported by Timeshift
Rsync: Supports rsync snapshots in all systemsBTRFS: Supports BTRFS snapshots in BTRFS systems
Rsync: Supports rsync snapshots in all systems
BTRFS: Supports BTRFS snapshots in BTRFS systems
If you are using a BTRFS system then please make sure you use the BTRFS type of snapshot. However, by default systems support Rsync mode. 
Step 1: Once you launch your time shift instance you can see an interface with several options like create, restore, and so on. 
Step 2: First go to your settings and select the location for the drive you want to create a snapshot of. 
Step 3: After selecting location click schedule, there you can schedule time intervals which will help to create snapshots on periods of time so if any uncertainty happens you have a backup available. 
Step 4: When you have done configuring your settings click on create a snapshot to make a recovery snapshot. It will take a few minutes and you will have your recovery file ready.
When the creation process is complete you will be able to see the recovery file ready to be recovered. You can also save the recovery file in an external drive so that you do not lose the recovery file also in case of uncertainty. 
It is suggested that you keep settings default for your recovery. However, a question arises that what to do if you are not even able to login into your system and have no control over it?
In such cases, you can create a live bootable USB device of Ubuntu, launch the live instance, connect it to the network and install Timeshift in it. Locate the recovery file and use it to recover your system. Since! Timeshift creates complete system recovery files it is easier to recover systems that lose the ability to log in.
Linux-Tools
Picked
Linux-Unix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Docker - COPY Instruction
scp command in Linux with Examples
chown command in Linux with Examples
Introduction to Linux Operating System
SED command in Linux | Set 2
chmod command in Linux with examples
nohup Command in Linux with Examples
mv command in Linux with examples
Array Basics in Shell Scripting | Set 1
Basic Operators in Shell Scripting