Skip to content

Documentation: Using Timeshift on a headless server with no GUI #150

Description

@OrangeReaper

I believe that it would be an improvement to existing documentation to include an example of using Timeshift on a headless server. After a fair amount of googling and piecing together a methodology (any blogs that I found on the subject were incomplete) which I offer below:

Install timeshift using

$ sudo apt install timeshift -y

After installation we should manually run timeshift and create our first snapshot; first we need to know the details of the filesystem

$ df -h

the response will be something like:

Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              385M  2.0M  383M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   27G   14G   12G  54% /
tmpfs                              1.9G     0  1.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/mmcblk2p2                     1.5G  594M  790M  43% /boot
/dev/mmcblk2p1                     1.1G  6.1M  1.1G   1% /boot/efi
/dev/sda1                          229G   34G  184G  16% /media/usb
tmpfs                              385M  4.0K  385M   1% /run/user/1000

Our target device is /dev/sda1

To create first snapshot run timeshift with the following command:

$ sudo timeshift --create --comments "First Snapshot" --snapshot-device /dev/sda1

Output:

First run mode (config file not found)
Selected default snapshot type: RSYNC
Mounted '/dev/sda1' at '/run/timeshift/backup'
------------------------------------------------------------------------------
Estimating system size...
Creating new snapshot...(RSYNC)
Saving to device: /dev/sda1, mounted at path: /run/timeshift/backup
Synching files with rsync...
Created control file: /run/timeshift/backup/timeshift/snapshots/2023-03-05_09-39-32/info.json
RSYNC Snapshot saved successfully (1179s)
Tagged snapshot '2023-03-05_09-39-32': ondemand
------------------------------------------------------------------------------

After this command the Timeshift configuration files can be found @ /etc/timeshift/timeshift.json; these should be modified according to your needs.

For Example:

{
  "backup_device_uuid" : "00c58084-7b61-4f18-a321-d977b4e0b6cb",
  "parent_device_uuid" : "",
  "do_first_run" : "false",
  "btrfs_mode" : "false",
  "include_btrfs_home_for_backup" : "false",
  "include_btrfs_home_for_restore" : "false",
  "stop_cron_emails" : "true",
  "btrfs_use_qgroup" : "true",
  "schedule_monthly" : "true",
  "schedule_weekly" : "false",
  "schedule_daily" : "true",
  "schedule_hourly" : "false",
  "schedule_boot" : "true",
  "count_monthly" : "2",
  "count_weekly" : "3",
  "count_daily" : "5",
  "count_hourly" : "6",
  "count_boot" : "5",
  "snapshot_size" : "14093054978",
  "snapshot_count" : "293820",
  "date_format" : "%Y-%m-%d %H:%M:%S",
  "exclude" : [
    "/root/**",
    "/home/user/**"
  ],
  "exclude-apps" : []
}

The above settings configure Timeshift to retain 2 Monthly Backups, 5 Boot Backups and 5 Daily Backups

Finally to ensure settings are properly installed in the system do the following:

$ sudo timeshift --check

Response:

/dev/sda1 is mounted at: /run/timeshift/backup, options: rw,relatime

Boot snapshots are enabled
Last boot snapshot not found
Tagged snapshot '2023-03-05_09-39-32': boot
Daily snapshots are enabled
Last daily snapshot not found
Tagged snapshot '2023-03-05_09-39-32': daily
Monthly snapshot are enabled
Last monthly snapshot not found
Tagged snapshot '2023-03-05_09-39-32': monthly
------------------------------------------------------------------------------
Added cron task: /etc/cron.d/timeshift-hourly
Added cron task: /etc/cron.d/timeshift-boot

To show the current state of play, at any time, use the following command

$ sudo timeshift --list

Response:

/dev/sda1 is mounted at: /run/timeshift/backup, options: rw,relatime

Device : /dev/sda1
UUID   : 00c58084-7b61-4f18-a321-d977b4e0b6cb
Path   : /run/timeshift/backup
Mode   : RSYNC
Status : OK
1 snapshots, 198.9 GB free

Num     Name                 Tags     Description     
------------------------------------------------------------------------------
0    >  2023-03-05_09-39-32  O B D M  First Snapshot

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions