Open-source project
linuxmint/timeshift avatar
linuxmint/timeshift

Timeshift on Linux: rsync and BTRFS Snapshots for System Restore

System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots. Supports scheduled snapshots, multiple backup levels, and exclude filters. Snapshots can be restored while system is running or from Live CD/USB.

4,294 stars157 forksValaLicense varies

At a glance

What is it?
Timeshift is a Linux Mint maintained system restore tool that snapshots system files with rsync and hard links or with BTRFS subvolumes, excluding home directories by default. It is a system rollback tool, not a backup tool, and the README is explicit about that boundary.
Who is it for?
Adopt Timeshift if you want point-in-time rollback of system files and settings on a desktop or laptop, and especially if your root filesystem is BTRFS with an Ubuntu-type subvolume layout. Do not adopt it as your only protection for documents, photos or music: the README states entire home directory contents are excluded by default and that Timeshift is not a backup tool.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly Vala, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Timeshift Solves, and What It Refuses To Do

Timeshift exists to undo changes to a Linux system. The README frames it as functionality similar to Windows System Restore and macOS Time Machine, and the scope is deliberately narrow: system files and settings only. User files such as documents, pictures and music are excluded, and the README states this ensures your files remain unchanged when you restore the system to an earlier date. That single design decision separates it from almost every general backup tool. If you want your home directory protected, the README points at BackInTime instead, describing it as more configurable and able to save user files. The audience is desktop and laptop users who break something during an upgrade, a driver install or a package conflict and want the machine back the way it was an hour ago. It is less suited to servers, where scheduled restores and user data protection usually matter more than rolling back a desktop configuration.

How rsync and BTRFS Modes Differ Under the Hood

The two snapshot backends behave very differently. In RSYNC mode, snapshots are taken using rsync and hard-links. Common files are shared between snapshots to save disk space, and each snapshot is a full system backup that can be browsed with a file manager. The README notes the practical consequence: only files can be hard-linked, not directories, so tools that rotate snapshots into levels by creating hard-linked copies duplicate directory structure, which can take as much as 100 MB. Timeshift avoids that by tagging each snapshot with its level. A snapshot exists once on disk and carries a tag such as daily or monthly, and the snapshot location holds folders per level with symbolic links pointing at the tagged snapshots. BTRFS mode is different in kind: snapshots use the filesystem's built-in features, are byte-for-byte copies of the system with nothing excluded, and can be created and restored in seconds with low disk overhead. The catch is stated plainly: BTRFS snapshots require a BTRFS system with an Ubuntu-type subvolume layout, meaning @ and @home subvolumes. A BTRFS root without that layout does not qualify.

Installing Timeshift and Taking a First Snapshot

The README says to install Timeshift, run it for the first time and take the first snapshot, and it points at the distribution packaging rather than listing commands. The repository carries archlinux/ and debian/ packaging directories alongside meson.build, so distribution packages and source builds are both supported paths. Once installed, launch the graphical application and pick a snapshot type. The README describes the choice between rsync and BTRFS in the Settings window, and states it is strongly recommended to use BTRFS snapshots on systems installed on a BTRFS partition. Then select where snapshots are stored. The default is the system root partition under the path /timeshift, and the README adds that other Linux partitions can be selected and that for best results snapshots should go to an external, non-system partition. Schedule settings offer Hourly, Daily, Weekly, Monthly and Boot levels, each with a retention count. Boot snapshots are created every time the system starts, with a delay of 10 minutes so startup is not affected. Finish by clicking Create on the toolbar to take the first on-demand snapshot, tagged O.

Scheduling That Fits Laptops, Not Servers

Most backup schedulers fire at a fixed time of day. Timeshift does not. The README states it is designed to run once every hour and take snapshots only when a snapshot is due, because desktop and laptop users keep machines switched on for only a few hours daily, and fixed-time scheduling on such machines results in missed backups. This is a real design difference rather than a preference, and it explains why the hourly cron behavior is not configurable in the way a server administrator might expect. It also means the retention counts interact with how often the machine is actually awake: a laptop that is on for three hours a day produces fewer hourly snapshots than the level name suggests. The Boot level is the compensating mechanism, guaranteeing at least one snapshot per startup, ten minutes in.

Restore Paths and Where They Break Down

Snapshots are restored by selecting one in the main window and clicking Restore. The README describes two paths. Online restore runs from the running system and requires a reboot to complete the process. Offline restore runs from another system that has Timeshift installed. If the main system is not bootable, the documented route is to boot an Ubuntu Live CD, install Timeshift on the live system, and restore a snapshot onto the main system. That last path is the one to think hardest about, because it assumes you can install a package on the live environment, which in turn assumes network access and working package repositories at the moment your machine is broken. The README does not document rollback of a restore, and it does not describe what happens if a restore is interrupted mid-reboot. Cross-distribution restore is supported and is the most unusual feature here: the README describes installing Linux Mint over Xubuntu, trying it for a week, then restoring the previous week's snapshot to get Xubuntu back, with Timeshift handling bootloader reinstallation. That only works if snapshots were saved on a separate Linux partition, because installing a new distribution formats the root partition.

Timeshift Against rsnapshot and BackInTime

The README names rsnapshot, BackInTime and TimeVault as similar tools with different goals. The rsnapshot difference is mechanical and worth understanding before choosing. rsnapshot rotates a snapshot to the next level by creating a hard-linked copy, which duplicates the directory structure; Timeshift uses level tags and symbolic links instead, so each snapshot keeps one copy on disk. The trade is that Timeshift's level folders are symlink views, not independent trees, which is less convenient if you want to copy a level directory somewhere else. BackInTime is the opposite trade in scope: it backs up user files and is more configurable, while Timeshift deliberately excludes them. The README itself recommends BackInTime for documents and files. If your root is ext4, you are on the rsync path either way, because BTRFS snapshots require the Ubuntu-type subvolume layout.

Maintenance, Packaging and Licence Status

The repository is not archived and the last push was on 2026-09-21, with releases tagged master.mint22 and master.lmde7 on that same date and master.lmde6 on 2025-09-04. Those release names track Linux Mint and LMDE targets rather than a semantic version series, which tells you where the maintenance effort is directed: the distribution it is built for. The repository contains a LICENSES directory but the licence identifier is not stated in the README, so check the files under LICENSES/ and the headers in src/ before redistributing or bundling it. Upgrade cost is low in practice because the tool is packaged per distribution; the archlinux/ and debian/ directories in the repository are the packaging sources, and the po/ directory plus timeshift.pot indicate translations are maintained in-tree. The dependency surface is small: rsync for RSYNC mode, and BTRFS tooling only if you use BTRFS mode.

Editorial conclusion

Adopt Timeshift if you want point-in-time rollback of system files and settings on a desktop or laptop, and especially if your root filesystem is BTRFS with an Ubuntu-type subvolume layout. Do not adopt it as your only protection for documents, photos or music: the README states entire home directory contents are excluded by default and that Timeshift is not a backup tool. Before relying on it, verify three things: whether your root partition is BTRFS or ext4, since that decides between BTRFS and rsync mode; where snapshots are stored, because /timeshift on the system partition is the default and a separate Linux partition is recommended for cross-distribution restore; and whether the live restore path works on your machine, since online restore requires a reboot to finish and offline restore requires booting an Ubuntu Live CD and installing Timeshift there.

Frequently asked questions

What is Timeshift on Linux?

It is an application that provides functionality similar to Windows System Restore and macOS Time Machine, taking incremental snapshots of the filesystem at regular intervals that can be restored later to undo system changes. It protects system files and settings only, not user data.

How do I set up Timeshift?

Install it, run it for the first time and take the first snapshot. The README states that a cron job can be enabled for automatic snapshots and that the backup levels are selected from the Settings window.

How do I install Timeshift on Ubuntu?

The README does not give install commands; it points at the distribution packages, and the repository carries a debian/ packaging directory for building them. Ubuntu and Linux Mint ship Timeshift as part of their package set.

How do I install Timeshift on Fedora?

The README does not provide Fedora-specific install steps. It describes installing Timeshift, running it and taking the first snapshot, with rsync and BTRFS modes selected in the Settings window.

How do I use Timeshift in the terminal?

The README describes the graphical workflow: select a snapshot in the main window and click Restore, or click Create on the toolbar to make an on-demand snapshot. It does not document a command-line interface.

Official sources

  1. Issues
  2. linuxmint/timeshift on GitHub
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/linuxmint-timeshift.svg)](https://hysenlabs.com/projects/linuxmint-timeshift)