Create system snapshots with CYA


If you call cya list, you will see the first snapshot with its date and time under point 1. Other snapshots that you created automatically or by running cya save are numbered by the tool and rotated as needed (Figure 3).

Figure 3: The list option displays two standard snapshots and two manually saved snapshots.

The cya keep command lets you create manual snapshots that are not subject to rotation, which is a good way to take a snapshot immediately after installing the operating system under a name such as basisinstallation. Even if you are importing a large update or an extensive package, creating a snapshot up front gives you additional assurance.

If something goes wrong, you can roll back the system to a previous state. Although you will want to keep basisinstallation and even archive it with cya archive, you can dispose of snapshots created before updates with the cya remove command as soon as you no longer need them.

Manual and Scripted

After entering the cya keep command, the program prompts for a unique snapshot name, which must not contain spaces. Alternatively, enter a name with the command; if run in scripts, use:

cya keep name pre_upgrade

The rest of the process is the same as the automatic backups, except that the snapshot does not reside in a numbered directory. Instead, it ends up in a folder with the assigned name. So, if you stick to the above backup as an example right after installing the operating system, then the data could be found in /home/cya/points/basicinstallation.

If you want to use the software in a script that automatically creates a snapshot every month and overwrites the previous one, the command is:

cya keep name monthly overwrite

Here, the tool takes an incremental approach and only considers changes since the last snapshot.

If you do not want to overwrite the backups, use

cya keep name monthly-DATE

instead; this tells the script to append the respective date to the name.


Any backup or snapshot system is only as good as its data recovery function. It is therefore worth testing the restore before an emergency occurs. First, use the cya script command to create a recovery script.

Specify which directories the system must mount when restoring. You can make your own entries here if you want to include additional directories (Figure 4). You will want to create the script immediately after configuration and save it separately.

Figure 4: The recovery script includes commands to mount the necessary partitions to ensure easy recovery. You can adapt it to your individual needs.

If data to be restored resides outside the default directories, you can manually enter the under /home/cya/. For example, if /var/ is on an external hard disk, you need to add the mountpoint here. Then, copy the finished script to a USB stick, which you later mount in a Live system and use to restore the backups.

As already mentioned, you should test the process before an emergency occurs so that you are familiar with the procedure. If the hardware, partition layout, or CYA version changes, you will want to run cya script again to customize the script.

The recovery process requires a Live system. You start this from a USB stick, an optical medium such as a CD, or a Netboot image. If possible, use a version of the operating system that matches the installation to be restored.

In a field test, I deleted the boot/ directory on a machine with:

sudo rm -rf /boot

This meant the computer was no longer bootable. CYA had to restore this directory to have a bootable system after the restore.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Timeshift

    Timeshift lets users easily create, manage, and restore system snapshots.

  • Snapshot Tools

    Experts agree that you should keep a copy of your data, but restoring from incremental backups takes time and sometimes doesn't work as expected. Alternatively, you can capture your data in a snapshot. Read on for a review of some leading Linux snapshot tools.

  • On the Safe Side

    Data deduplication, encryption, compression, incremental backups, error correction, and support for snapshots and popular cloud storage services: Kopia delivers.

  • Systemback

    At the push of a button, Systemback backs up or clones the complete current system and can restore it as required.

  • Restic/Jarg

    Restic and the Jarg front end appeal to users who want to see quick results without too much overhead.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More