Posts by mamema

    another thought on this.

    As my mount points (organized by omv) are:

    sda 59,5G

    └─sda1 / dae17ef8-cada-4c5c-8294-ce2808d117ef ext4 59,5G

    sdb /srv/dev-disk-by-uuid-4adfd430-b4ac-40a0-915a-e67d 4adfd430-b4ac-40a0-915a-e67da709ee58 ext4 931G

    sdc /srv/dev-disk-by-uuid-ba5fe150-668e-4d4d-98c9-4c8e ba5fe150-668e-4d4d-98c9-4c8eaa01ddb1 ext4 893,8G

    sdd /srv/dev-disk-by-uuid-add3374b-2b94-4860-b4be-4ab2 add3374b-2b94-4860-b4be-4ab2cc1a14c4 ext4 931G

    sde /srv/dev-disk-by-uuid-5fc9ca21-e061-43b7-956e-ad45 5fc9ca21-e061-43b7-956e-ad4530828725 ext4 27,3T

    sdf 893,8G

    └─sdf1 /srv/dev-disk-by-uuid-b25a43ce-1347-4c2c-92dd-7243 b25a43ce-1347-4c2c-92dd-7243514601df ext4 893,7G



    and i have sde choosen as backup device, mounted under /srv/ isn´t / part of this and because of that always excluded?

    yes of course applying.

    the only tab i can forcefully create a snapshot is in "on-demand". there i have 6 filesystems to choose from. Doesn´t matter what i choose. fails everytime. And everytime i have /** in the conf then.

    >I ran an on-demand snapshot on my system and it did not change the config file.

    good for you. :) On my system it fails constantly and i have constantly /** in it then.

    I´m happy toprovide more logs. as the constant fail is perhaps connected to the changing of the conf file.

    it´s very easy to reproduce. Every time the same


    - delete config .conf file (do this only to show the case)

    - create a backup filessystem setting in the Timeshift settings in the gui

    - check if the conf now exists on command line.

    - it exists without /**

    - go back into the gui and create a snapshot from whatever filesystem

    - fails

    - check conf file again

    - /** is in the conf file

    https://github.com/OpenMediaVa…22717d28cca08be64c939cfd7


    I will release when I get a chance later.

    the difference now is, that the (omv used) uuid is in the config file.
    When the config is newly created /** isn´t in there, but as soon as i choose any source in "on -demand", the /** is back in the file:


    cat /etc/timeshift/timeshift.json

    {

    "backup_device_uuid" : "add3374b-2b94-4860-b4be-4ab2cc1a14c4",

    "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" : "false",

    "schedule_monthly" : "false",

    "schedule_weekly" : "false",

    "schedule_daily" : "false",

    "schedule_hourly" : "false",

    "schedule_boot" : "false",

    "count_monthly" : "0",

    "count_weekly" : "0",

    "count_daily" : "0",

    "count_hourly" : "0",

    "count_boot" : "0",

    "date_format" : "%Y-%m-%d %H:%M:%S",

    "exclude" : [

    "/srv/**",

    "/home/**",

    "/**",

    "/var/lib/libvirt/**",

    "/opt/splunkforwarder/**",

    "/root/**",

    "/home/placeholder/**"

    ],

    "exclude-apps" : []



    which leads to the same error alredy reported above.

    one after another:


    sudo omv-salt deploy run timeshiftt

    debian:

    ----------

    ID: configure_timeshift

    Function: file.managed

    Name: /etc/timeshift/timeshift.json

    Result: True

    Comment: File /etc/timeshift/timeshift.json updated

    Started: 15:11:36.837499

    Duration: 221.091 ms

    Changes:

    ----------

    diff:

    ---

    +++

    @@ -1,5 +1,5 @@

    {

    - "backup_device_uuid" : "add3374b-2b94-4860-b4be-4ab2cc1a14c4",

    + "backup_device_uuid" : "HDD",

    "parent_device_uuid" : "",

    "do_first_run" : "false",

    "btrfs_mode" : "false",

    @@ -16,15 +16,13 @@

    "count_daily" : "0",

    "count_hourly" : "0",

    "count_boot" : "0",

    + "snapshot_size" : "0",

    + "snapshot_count" : "0",

    "date_format" : "%Y-%m-%d %H:%M:%S",

    "exclude" : [

    "/srv/**",

    "/home/**",

    - "/**",

    - "/var/lib/libvirt/**",

    - "/opt/splunkforwarder/**",

    - "/home/placeholder/**",

    "/root/**"

    ],

    "exclude-apps" : []

    -}+}

    mode:

    0644


    Summary for debian

    ------------

    Succeeded: 1 (changed=1)

    Failed: 0

    ------------

    Total states run: 1

    Total run time: 221.091 ms

    ----

    cat /etc/timeshift/timeshift.json

    {

    "backup_device_uuid" : "HDD",

    "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" : "false",

    "schedule_monthly" : "false",

    "schedule_weekly" : "false",

    "schedule_daily" : "false",

    "schedule_hourly" : "false",

    "schedule_boot" : "false",

    "count_monthly" : "0",

    "count_weekly" : "0",

    "count_daily" : "0",

    "count_hourly" : "0",

    "count_boot" : "0",

    "snapshot_size" : "0",

    "snapshot_count" : "0",

    "date_format" : "%Y-%m-%d %H:%M:%S",

    "exclude" : [

    "/srv/**",

    "/home/**",

    "/root/**"

    ],

    "exclude-apps" : []

    }

    ____

    sudo timeshift --create --comment "manually created from plugin" --scripted --debug

    D: Main()

    D:

    D: Running Timeshift v22.11.2

    D:

    D: Session log file: /var/log/timeshift/2025-07-18_15-13-29_ondemand.log

    D: Distribution: debian "12"

    D: DIST_ID: debian

    D: Main: check_dependencies()

    D: Main: add_default_exclude_entries()

    D: Main: add_default_exclude_entries(): exit

    D: update_partitions()

    D: df -T -B1

    D: Device: get_disk_space_using_df(): 6

    D: Device: get_mounted_filesystems_using_mtab(): 6

    D: Device: get_filesystems(): 1033

    D: partition list updated

    D: detect_system_devices()

    D: / is mapped to device: /dev/sda1, UUID=dae17ef8-cada-4c5c-8294-ce2808d117ef

    D: Searching subvolume for system at path: /

    D: Users: dockeruser libvirt-qemu splunkfwd root placeholder

    D: Encrypted home users:

    D: Encrypted home dirs:


    D: Encrypted private dirs:


    D: Main: load_app_config()

    App config loaded: /etc/timeshift/timeshift.json

    D: IconManager: init()

    D: found images directory: /usr/share/timeshift/images

    D: Main(): ok

    D: AppConsole: parse_arguments()

    D: Main: initialize_repo()

    D: backup_uuid=HDD

    D: backup_parent_uuid=

    D: Setting snapshot device from config file

    D: repo: creating from uuid

    D: SnapshotRepo: from_uuid(): RSYNC

    D: uuid=HDD

    D: SnapshotRepo: init_from_device()

    D:

    D: SnapshotRepo: unlock_and_mount_devices()

    D: device=/dev/sde

    D: SnapshotRepo: unlock_and_mount_device()

    D: device=/dev/sde

    D: Device: get_mounted_filesystems_using_mtab(): 6

    D: ------------------

    D: arg=5fc9ca21-e061-43b7-956e-ad4530828725, device=/dev/sde

    D: /srv/dev-disk-by-uuid-5fc9ca21-e061-43b7-956e-ad4530828725

    D: ------------------

    D: Device: get_mounted_filesystems_using_mtab(): 6

    Mounted '/dev/sde' at '/run/timeshift/3997672/backup'

    D: SnapshotRepo: load_snapshots()

    D: loading snapshots from '/run/timeshift/3997672/backup/timeshift/snapshots': 0 found

    D: SnapshotRepo: unlock_and_mount_device(): exit

    D: Selected snapshot device: /dev/sde

    D: Free space: 17.8 TB

    D: SnapshotRepo: check_status()

    D: SnapshotRepo: available()

    D: is_available: ok

    D: SnapshotRepo: has_snapshots()

    D: SnapshotRepo: has_space() - 0 required (0 B)

    D: df -T -B1 '/dev/sde'

    D: Device: get_disk_space_using_df(): 1

    D: no snapshots

    D: SnapshotRepo: check_status(): exit

    D: SnapshotRepo: init_from_device(): exit

    D: SnapshotRepo: from_uuid(): exit

    D: Main: initialize_repo(): exit

    D: AppConsole: start_application()

    D: Main: create_snapshot()

    D: SnapshotRepo: has_space() - 0 required (0 B)

    D: df -T -B1 '/dev/sde'

    D: Device: get_disk_space_using_df(): 1

    D: no snapshots

    D: Main: backup_and_rotate()

    D: SnapshotRepo: available()

    D: is_available: ok

    ------------------------------------------------------------------------------

    Estimating system size...

    D: estimate_system_size()

    D: Using temp dir '/tmp/48w2AYsT'

    D: Main: save_exclude_list_for_backup()

    D: Main: create_exclude_list_for_backup()

    D: Main: create_exclude_list_for_backup(): exit

    D: export LC_ALL=C.UTF-8 ; rsync -ai --delete --numeric-ids --relative --stats --dry-run --delete-excluded --exclude-from='/tmp/48w2AYsT/exclude.list' /. '/tmp/48w2AYsT/empty' &> '/tmp/48w2AYsT/rsync.log'

    D: First snapshot size: 28.8 GB

    D: File count: 18

    D: Main: save_app_config()

    D: SnapshotRepo: available()

    D: is_available: ok

    D: SnapshotRepo: has_snapshots()

    App config saved: /etc/timeshift/timeshift.json

    D: estimate_system_size(): ok

    Creating new snapshot...(RSYNC)

    Saving to device: /dev/sde, mounted at path: /run/timeshift/3997672/backup

    D: Main: save_exclude_list_for_backup()

    D: Main: create_exclude_list_for_backup()

    D: Main: create_exclude_list_for_backup(): exit

    Syncing files with rsync...

    D: RsyncTask:execute()

    D: export LC_ALL=C.UTF-8

    rsync -aii --recursive --verbose --delete --force --stats --sparse --delete-excluded --log-file='/run/timeshift/3997672/backup/timeshift/snapshots/2025-07-18_15-13-31/rsync-log' --exclude-from='/run/timeshift/3997672/backup/timeshift/snapshots/2025-07-18_15-13-31/exclude.list' --delete-excluded '/' '/run/timeshift/3997672/backup/timeshift/snapshots/2025-07-18_15-13-31/localhost/'

    D: RsyncTask:prepare(): saved: /tmp/48w2AYsT/2025-07-18_15-13-31/script.sh

    D: AsyncTask: child_pid: 3997895

    D: AsyncTask: finish(): enter

    D: exit_code: 0

    E: rsync returned an error

    E: Failed to create new snapshot

    Failed to create snapshot

    ------------------------------------------------------------------------------

    D: SnapshotRepo: load_snapshots()

    D: loading snapshots from '/run/timeshift/3997672/backup/timeshift/snapshots': 0 found

    D: SnapshotRepo: auto_remove()

    D: SnapshotRepo: remove_untagged()

    D: SnapshotRepo: load_snapshots()

    D: loading snapshots from '/run/timeshift/3997672/backup/timeshift/snapshots': 0 found

    D: SnapshotRepo: load_snapshots()

    D: loading snapshots from '/run/timeshift/3997672/backup/timeshift/snapshots': 0 found

    Removing snapshots (incomplete):

    ------------------------------------------------------------------------------

    Removing '2025-07-18_15-13-31'...

    D: RsyncTask:execute()

    D: rm -rfv '/run/timeshift/3997672/backup/timeshift/snapshots/2025-07-18_15-13-31/'

    D: RsyncTask:prepare(): saved: /tmp/48w2AYsT/2025-07-18_15-13-32/script.sh

    D: AsyncTask: child_pid: 3998046

    D: AsyncTask: finish(): enter

    D: exit_code: 0

    Removed '2025-07-18_15-13-31'

    ------------------------------------------------------------------------------

    D: SnapshotRepo: load_snapshots()

    D: loading snapshots from '/run/timeshift/3997672/backup/timeshift/snapshots': 0 found

    D: SnapshotRepo: load_snapshots()

    D: loading snapshots from '/run/timeshift/3997672/backup/timeshift/snapshots': 0 found

    D: rm -rf "/run/timeshift/3997672/backup/timeshift/snapshots-boot/"

    D: rm -rf "/run/timeshift/3997672/backup/timeshift/snapshots-hourly/"

    D: rm -rf "/run/timeshift/3997672/backup/timeshift/snapshots-daily/"

    D: rm -rf "/run/timeshift/3997672/backup/timeshift/snapshots-weekly/"

    D: rm -rf "/run/timeshift/3997672/backup/timeshift/snapshots-monthly/"

    D: rm -rf "/run/timeshift/3997672/backup/timeshift/snapshots-ondemand/"

    D: Symlinks updated

    D: exit_app()

    D: crontab -l

    D: crontab -l

    D: unmount_target_device()

    D: clean_logs()

    D: rm -rf '/tmp/48w2AYsT'

    D: cleanup_unmount_devices()

    D: df -T -B1

    D: Device: get_disk_space_using_df(): 6

    D: Device: get_mounted_filesystems_using_mtab(): 6

    D: Device: get_filesystems(): 1033

    D:

    Found stale mount for device '/dev/sde' at path '/run/timeshift/3997672/backup'

    D: Unmounted successfully

    no didn´t change it back. And i thought in need to remove the excluding /** because it was still there even after your command


    - removed plugin

    - removed .conf file

    - reinstalled

    - checked config conf file no /** in there

    - added large non boot backup filesystem
    - selected an filesystem in on-demand

    - snapshot failed

    - checked config conf file /** in there

    i´ve now removed the line "/**", from the /etc/timeshift/timeshift.json file

    applied sudo omv-salt deploy run timeshift


    made a On-demand snapshot afterwards

    got:

    ounted '/dev/sda1' at '/run/timeshift/2349446/backup'
    ------------------------------------------------------------------------------
    Estimating system size...
    Creating new snapshot...(RSYNC)
    Saving to device: /dev/sda1, mounted at path: /run/timeshift/2349446/backup
    Syncing files with rsync... 0.00% complete (??? remaining) E: rsync returned an error
    E: Failed to create new snapshot
    Failed to create snapshot
    ------------------------------------------------------------------------------
    Removing snapshots (incomplete):
    ------------------------------------------------------------------------------
    Removing '2025-07-17_21-16-46'... 0.00% complete (??? remaining) Removed '2025-07-17_21-16-46'
    ------------------------------------------------------------------------------

    END OF LINE


    or the same on other /dev/sdx filesystems

    udo omv-salt deploy run timeshift

    debian:

    ----------

    ID: configure_timeshift

    Function: file.managed

    Name: /etc/timeshift/timeshift.json

    Result: True

    Comment: File /etc/timeshift/timeshift.json updated

    Started: 19:42:15.958198

    Duration: 210.154 ms

    Changes:

    ----------

    diff:

    ---

    +++

    @@ -1,5 +1,5 @@

    {

    - "backup_device_uuid" : "5fc9ca21-e061-43b7-956e-ad4530828725",

    + "backup_device_uuid" : "HDD",

    "parent_device_uuid" : "",

    "do_first_run" : "false",

    "btrfs_mode" : "false",

    @@ -16,15 +16,13 @@

    "count_daily" : "0",

    "count_hourly" : "1",

    "count_boot" : "0",

    + "snapshot_size" : "0",

    + "snapshot_count" : "0",

    "date_format" : "%Y-%m-%d %H:%M:%S",

    "exclude" : [

    "/srv/**",

    "/home/**",

    - "/**",

    - "/var/lib/libvirt/**",

    - "/opt/splunkforwarder/**",

    - "/home/placeholder/**",

    "/root/**"

    ],

    "exclude-apps" : []

    -}+}


    Summary for debian

    ------------

    Succeeded: 1 (changed=1)

    Failed: 0

    ------------

    Total states run: 1

    Total run time: 210.154 ms



    should i delete or modify the config file?

    cat /etc/timeshift/timeshift.json

    {

    "backup_device_uuid" : "5fc9ca21-e061-43b7-956e-ad4530828725",

    "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" : "false",

    "schedule_monthly" : "false",

    "schedule_weekly" : "false",

    "schedule_daily" : "false",

    "schedule_hourly" : "true",

    "schedule_boot" : "false",

    "count_monthly" : "0",

    "count_weekly" : "0",

    "count_daily" : "0",

    "count_hourly" : "1",

    "count_boot" : "0",

    "date_format" : "%Y-%m-%d %H:%M:%S",

    "exclude" : [

    "/srv/**",

    "/home/**",

    "/**",

    "/var/lib/libvirt/**",

    "/opt/splunkforwarder/**",

    "/home/placeholder/**",

    "/root/**"

    ],

    I have never tested creating a snapshot of the OS on the OS partition. Can you try a different disk for the backup?

    thats the point i´m struggling. I do not want to create a snapshot ON the boot drive, i want to create one FROM the boot drive.

    so i´ve set a large partition on the settings screen (not the boot drive), then in On-Demand snapshot i´ve selected the boot drive and got the error which i´ve reported here. But i can also select different partitions (eg filesystems - all ext4) in on-demand snapshots and all of them fail with the same error.


    Perhaps it´s a user error, but it´s not that much to configure, so i do not see what i´m doing wrong.

    think about using this plugin and have a few remaining points to clarify.
    As described it is a "clone" to "simulate" what Windows systems have included out of the box. So to can go back, when a system update isn´t what you wanted etc.


    Here my question starts. What is defined as "System" and what gets snapshotted?

    For example because of space requirements i have symlinked /var/lib/docker to a larger drive away from / (root).

    So does timeshift follow symlinks?

    Are those additional things like docker or libvirt defined as part of the system?


    Is there a "dry run" mode available, so i can see whats get into the snapshot and what not?


    I don´t quite understand the interface yet.

    Settings screen talks about backup device. What does this actually mean?

    - The device which gets snapshotted?

    - The device which saved the snapshots?

    - both

    The link posted by somebody (dev-site?) tells, there will be a timedhift folder, normally on / (this would be bad in my case, as this has 32 GB. I want to have the snapshots on a different drive. As i have difficulties to understand the settings page, i don´t know where to configure this.

    If i assume, that the settings screen is configuring the destination, and the "on demand snapshot" selects the source, then i´ve configured the largest drive as destination and my 32gb boot drive as source and got this:


    ounted '/dev/sda1' at '/run/timeshift/3727395/backup'
    ------------------------------------------------------------------------------
    Estimating system size...
    Creating new snapshot...(RSYNC)
    Saving to device: /dev/sda1, mounted at path: /run/timeshift/3727395/backup
    Syncing files with rsync... 0.00% complete (??? remaining) E: rsync returned an error
    E: Failed to create new snapshot
    Failed to create snapshot
    ------------------------------------------------------------------------------
    Removing snapshots (incomplete):
    ------------------------------------------------------------------------------
    Removing '2025-07-16_14-17-21'... 0.00% complete (??? remaining) Removed '2025-07-16_14-17-21'
    ------------------------------------------------------------------------------

    END OF LINE