Quick answer: Use two tools, because they solve two
different problems. Timeshift takes snapshots of your
system files so you can undo a bad update. Restic or
BorgBackup copies your personal files (documents,
photos, project folders) to a drive or server that is not your computer.
Follow the 3-2-1 rule from CISA: three copies of your data, on two kinds
of storage, with one copy offsite. Then do the step most people skip:
restore a file from your backup and check that it opens.
A kernel update goes wrong, a drive dies, or you delete the wrong
folder with rm -r. Below, we explain the difference between
a snapshot and a backup, compare three free tools, and walk through a
setup you can finish in an afternoon.
This is a how-to guide, not a hands-on test. We did not run these
tools for this article. Every fact and command below comes from the
tools’ own documentation or from CISA, all checked on November
8, 2026. Commands are shown as the documentation presents them,
so run them on a test folder first, and read each project’s current docs
before you rely on them.
Snapshot or
backup? They are not the same thing
People use these words as if they mean the same thing. They do not,
and mixing them up is how people end up with no usable copy.
- A snapshot captures the state of your system files
at one moment so you can roll back. Timeshift’s own README compares it
to System Restore in Windows. It is great for “I installed something and
now the desktop won’t start.” - A backup is a separate copy of your data, stored
somewhere else, that you can restore after a disk failure, theft or
deletion.
Timeshift’s README is direct about this. It says Timeshift is
designed to protect system files and settings, that it is “NOT a backup
tool and is not meant to protect user data,” and that the contents of
users’ home directories are excluded by default. By default it also
saves snapshots on the system (root) partition, and the project
recommends an external, non-system partition for best results. A
snapshot on the same drive that fails is gone along with everything
else.
In short, Timeshift protects your system and a backup tool
protects your files. You want both.
The 3-2-1 rule
CISA, the US cybersecurity agency, describes the 3-2-1 backup rule
like this:
- 3 copies of your data: the original plus two
backups. - 2 different types of storage, for example an
external drive and cloud storage. - 1 copy offsite, meaning away from your home or
office.
CISA’s guidance also says backups should run automatically and
regularly, be encrypted, and include offline protection. It says to test
restores, both full and partial, and to be able to roll back at least
seven days. For a home user, “offsite” can be as simple as an encrypted
copy on a cloud storage bucket or a drive kept at a relative’s
house.
Timeshift, restic and
Borg at a glance
| Tool | What it protects | How you use it | Where backups go |
|---|---|---|---|
| Timeshift | System files and settings (home folder excluded by default) | Graphical app, with scheduled snapshots | Local disk or partition; external drive recommended |
| Restic | Any folders you choose | Command line | Local folder, SFTP, REST server, S3, Backblaze B2, Azure, Google Cloud Storage, Swift |
| BorgBackup | Any folders you choose | Command line | Local path or a remote host over SSH |
All three are free and open source. Restic and Borg both encrypt,
deduplicate (store repeated data only once) and keep many versions of
your files, so a nightly backup does not fill your drive with
copies.
The version numbers we saw on November 8, 2026 were restic 0.19.1
(released July 5, 2026) and BorgBackup 1.4.5 (released July 18, 2026,
and the version shown in its stable documentation). You can pick either
restic or Borg. You do not need both.
Step 1: Decide what to
protect
Before you install anything, make a short list.
- Your home folder. Documents, pictures, music,
project folders, and the hidden settings folders such as
~/.config. - Files outside home that you changed on purpose,
such as/etcon a server. - Things you can download again, like games and
installers. Excluding them saves space. Restic supports this with
--excludeand--exclude-caches, which skips
folders that contain aCACHEDIR.TAGfile.
Also note the distribution, version and installed apps. A home-folder
backup will not reinstall your software.
Step 2: Set up
Timeshift for system snapshots
Timeshift is part of the Xapp project, which Linux Mint maintains,
and it works on other distributions. It has two modes:
- Rsync mode works on any file system. It uses rsync
and hard links, so unchanged files are shared between snapshots and save
space. Each snapshot can be browsed in a file manager. - Btrfs mode uses the built-in snapshot feature of
the Btrfs file system. The README says it requires an Ubuntu-type layout
with@and@homesubvolumes, and that other
layouts are not supported.
Set it up like this:
- Install Timeshift from your distribution’s software center or
package manager, then open it. - Choose the snapshot type. Rsync is the safe default unless your
system is already on Btrfs with the@and
@homelayout. - Pick a location. Choose an external or separate Linux partition if
you can, not the system partition. - Choose a schedule. Timeshift supports hourly, daily, weekly, monthly
and boot snapshots, with a retention count for each level. A modest
choice is a few daily and weekly snapshots. The README explains that it
checks every hour and takes a snapshot only when one is due, which suits
a desktop that is not on all day. - Leave user data excluded, as the project recommends. Your documents
belong in the other backup you set up next. - Take your first snapshot by hand so you know it works.
To restore, select a snapshot and click Restore. The
README says you can restore from the running system (which needs a
reboot to finish) or, if the machine will not start, boot a live USB
stick, install Timeshift there and restore the snapshot onto the main
system. It also supports LUKS-encrypted and LVM2 installs.
The README adds one tip: if you plan to try another distribution,
keep snapshots on a separate Linux partition, because a new install
formats the root partition.
Step 3: Back up your
files with restic
Restic is a command-line tool. Its manual shows this flow. First,
create a repository, which is the encrypted storage area for your
backups:
restic init --repo /srv/restic-repo
Restic asks you to type a password twice. The manual warns: “Losing
your password means that your data is irrecoverably lost.” Save that
password in a password manager and a second safe place now.
Next, back up a folder:
restic -r /srv/restic-repo --verbose backup ~/Documents
Run it again the next day. Unchanged data is already in the
repository, so only new data is stored.
To see what you have:
restic -r /srv/restic-repo snapshots
To restore a snapshot into a test folder, then look inside:
restic -r /srv/restic-repo restore latest --target /tmp/restore
The manual also shows how to restore one file with
--include, find a path with restic ls latest,
and browse backups as a folder with restic mount (FUSE on
Linux).
Remote storage
The -r option takes more than a local path. The manual
documents sftp:user@host:/srv/restic-repo, a REST server,
S3-compatible storage, Backblaze B2, Azure, Google Cloud Storage and
OpenStack Swift. That is the easy way to get your offsite copy.
Keep your backups from
growing forever
Old snapshots pile up. The forget command removes
snapshots by policy:
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --prune
Restic’s manual explains that forget removes the
snapshot, while prune removes the data nothing refers to
anymore. The --prune option runs both. It also recommends
running restic check after pruning and regularly. Use
--dry-run first to see what would be removed.
Step 4:
Back up your files with BorgBackup (alternative)
Borg does the same job with a different command style. The Quick
Start for version 1.4.5 shows the flow:
borg init --encryption=repokey /path/to/repo
borg create /path/to/repo::Monday ~/Documents
borg extract /path/to/repo::Monday
These create an encrypted repository, save an archive named
Monday, and restore it. Borg prints the original,
compressed and deduplicated sizes, so you can see how little space a
second backup uses.
Borg’s docs have several points worth knowing:
- Deleting an archive does not free space. Run
borg compactto recover disk space after a delete or
prune. - Remote repositories use SSH, in the form
user@hostname:/path/to/repo, and Borg must be installed on
the remote host. - The key matters. With
repokey, the key
is stored in the repository and protected by your passphrase. The docs
warn that the data is inaccessible without the key and passphrase, and
tell you to make a backup of the key with
borg key export. - Use a long passphrase and keep it somewhere safe.
Borg’s docs suggest avoiding empty passphrases and non-ASCII
characters.
The Quick Start also includes a sample script that runs
borg create, borg prune and
borg compact, keeping 7 daily, 4 weekly and 6 monthly
archives.
Restic or Borg: which one?
Both are well documented and both encrypt and deduplicate. The
practical differences:
- Restic supports many cloud storage services
directly, so it is a good fit if your offsite copy is an object storage
bucket. - Borg is a good fit if your offsite copy is another
computer you can reach over SSH, such as a small server at home or a
rented storage box. - Either one works on a local external drive.
If you already have a home server, see our home lab starter guide for where a
backup target fits in the plan. Pick one tool, learn it, and stick with
it. A simple backup you actually run beats a clever one you never
finish.
Step 5: Schedule it
A backup you have to remember is a backup you will skip. Timeshift
schedules its own snapshots. For restic or Borg, put your commands in a
small script and run it with a scheduler such as cron or a systemd
timer. Timeshift’s README mentions cron for its scheduled snapshots, and
Borg’s Quick Start shows a script you can adapt. A few habits make the
script reliable:
- Run
forgetorpruneonly after a
successful backup. - Log the output and read it now and then. Borg’s docs say to check
your backup logs regularly. - Supply the restic password with
--password-file(a file
only your user can read) orRESTIC_PASSWORD_COMMAND, not
pasted into the script.
Step 6: Test a
restore (the step everyone skips)
A backup is only proven when you restore from it. CISA’s guidance
says to test restores, and to test both full and partial restores. Do
this today, and again every few months:
- Restore one file from your restic or Borg backup into a temporary
folder and open it. - Run
restic checkon your repository. - Check your Timeshift snapshot dates and that the snapshot disk has
free space. - Write a one-paragraph plan to rebuild the computer: reinstall Linux,
install your tools, point them at the backup, restore.
Common mistakes
- Keeping the only backup on the same drive. A failed
drive takes both with it. - Treating Timeshift as a file backup. By default, it
leaves your home folder out. - Losing the password or key. Both restic and Borg
say the data is unrecoverable without it. - Never testing, and never pruning. An unrestorable
backup is wasted space, and a repository with no retention policy
eventually fills the disk.
FAQ
Do I need
Timeshift if I already use restic or Borg?
It helps, but it is optional. Restic and Borg protect the files you
choose, and Timeshift gives you a fast way to roll back a broken system
update. If you only have time for one thing, back up your files first,
because you can reinstall Linux but you cannot recreate your photos.
Are restic and Borg
safe for private files?
Both encrypt your data before it is stored. They cannot protect you
from losing the password.
How often should I back up?
Daily is a common choice for personal files. CISA says backups should
run automatically and regularly. Pick a schedule where losing a day of
work would be tolerable.
Can I use a cloud service
instead?
Yes, as your offsite copy. Restic can write to several cloud storage
services directly. Check each provider’s current pricing yourself, since
we do not quote prices here.
What about databases
and virtual machines?
Copying live database files can give you a broken backup. Restic’s
manual shows how to pipe a database dump straight into a backup with
--stdin-from-command. Borg’s docs also advise checking your
database’s own backup method. For virtual machines, use the hypervisor’s
own backup tools where available.
Sources
All checked November 8, 2026.
- Timeshift README
(Linux Mint, GitHub) - Restic
manual: preparing a new repository - Restic
manual: backing up - Restic
manual: restoring from backup - Restic
manual: removing backup snapshots - Restic releases
(GitHub) - BorgBackup
Quick Start (1.4.5) - BorgBackup
releases (GitHub) - CISA:
Back up business data (3-2-1 rule)
By Early Adopted Editorial Team. Last updated: November 8,
2026