Skip to content

Feature request: Facility for marking automatic backups to be saved / converting automatic backups to on-demand backups #501

@iconoclasthero

Description

@iconoclasthero

BTRFS timeshift snapshots
Timeshift 25.07.7

Is your feature request related to a problem? Please describe.
There's no simple, clear, and well-documented way to convert an automatically-taken [scheduled] snapshot—i.e., one that's also slated for automatic deletion—to an on-demand backup so that it will be marked for preservation. If such a facility now exists, it is not documented.

Describe the solution you'd like
In the GTK version, some context (right-click) dialog/modal or button, etc., that would allow for changing the status of a snapshot scheduled for automatic deletion to a preserve status. In the cli version, e.g., a --save --snapshot 'snapshot' flag. As on-demand snapshots are already excluded from automatic deletion it seems the simplest path forward is to be able to add this tag in a simple fashion while also removing the automatic (i.e., B, H, D, W, M) tags. However, it seems reasonable to request that a longer-term solution include a P=preserve or S=save tag making it explicitly clear to the user as well as in the code path that this is marked for preservation regardless of any other tags.

Describe alternatives you've considered
I tried to use the cli to adjust the --tag O on an existing snapshot but it has no effect:

$ timeshift --tags O --comments "test save" --snapshot '2026-01-10_15-00-02'; jq .tags /mnt/p10/timeshift-btrfs/snapshots/2026-01-10_15-00-02/info.json
App config loaded: /etc/timeshift/timeshift.json
Mounted '/dev/nvme0n1p10' (subvolid=0) at '/run/timeshift/1351871/backup'
btrfs: Quotas are not enabled
App config saved: /etc/timeshift/timeshift.json
"daily"

Manually editing the /timeshift/snapshot/.../info.json tags field to change e.g., "daily" to "ondemand" appears to solve the problem in a manual way that may or may not cause problems later, however, this is undocumented and seems precarious at best. If this is a legitimate way around this problem, it would be best if it was documented and thus subject to a breaking change in any future updates.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions