linuxmint / timeshift

System restore tool for Linux. Creates filesystem snapshots using rsync+hardlinks, or BTRFS snapshots. Supports scheduled snapshots, multiple backup levels, and exclude filters. Snapshots can be restored while system is running or from Live CD/USB.
2.52k stars 90 forks source link

Snapshots not detected by Timeshift #108

Open MikeNavy opened 1 year ago

MikeNavy commented 1 year ago

Describe the bug Wanting to create a new sapshot, I launch Timeshift, an error message appears: "No snapshot available", while Timeshift directory / subdirectories with on-demand snapshots are there.

To Reproduce Steps to reproduce the behavior: Snapshots are on an external USB3 750 GB HDD, formatted as ext4. Latest snapshot had been created two days ago (and disk removed since then); at this time, snapshot was recognized by Timeshift. At Timeshift launch, error message "no snapshot available". The settings are still there and unchanged: rsync, external disk sdb1 as target for snapshots. Opening the disk in the file manager (Caja) shows timeshift directory and subdirectories available, with files in the snapshots. Gnome disks show the disk is sane, smart is OK. Here is the log: `[18:00:13] Journal de session: /var/log/timeshift/2022-12-17_18-00-13_gui.log [18:00:13] Distribution: LinuxMint 20.3 (una) [18:00:13] DIST_ID: LinuxMint [18:00:13] Main: check_dependencies() [18:00:13] Main: add_default_exclude_entries() [18:00:13] Main: add_default_exclude_entries(): exit [18:00:13] update_partitions() [18:00:13] Device: get_disk_space_using_df(): 3 [18:00:13] Device: get_mounted_filesystems_using_mtab(): 3 [18:00:13] Device: get_filesystems(): 7 [18:00:13] partition list updated [18:00:13] detect_system_devices() [18:00:13] / est mappé au périphérique: /dev/sda1, UUID=2729ac5f-3cf9-4197-a4b4-d7331188a142 [18:00:13] /home est mappé au périphérique: /dev/sda2, UUID=a8d0beab-5348-4cbd-be80-e20b3a9097eb [18:00:13] Searching subvolume for system at path: / [18:00:13] Users: root michel [18:00:13] Encrypted home users: [18:00:13] Encrypted home dirs:

[18:00:13] Encrypted private dirs:

[18:00:13] Main: load_app_config() [18:00:13] Configuration chargée: /etc/timeshift/timeshift.json [18:00:13] IconManager: init() [18:00:13] bin_path: /usr/bin/timeshift-gtk [18:00:13] found images directory: /usr/share/timeshift/images [18:00:13] Main(): ok [18:00:13] Main: initialize_repo() [18:00:13] backup_uuid=c5e6bcde-709b-40f8-8438-02594684f84c [18:00:13] backup_parent_uuid= [18:00:13] Setting snapshot device from config file [18:00:13] repo: creating from uuid [18:00:13] SnapshotRepo: from_uuid(): RSYNC [18:00:13] uuid=c5e6bcde-709b-40f8-8438-02594684f84c [18:00:13] SnapshotRepo: init_from_device() [18:00:13] [18:00:13] SnapshotRepo: unlock_and_mount_devices() [18:00:13] device=/dev/sdb1 [18:00:13] SnapshotRepo: unlock_and_mount_device() [18:00:13] device=/dev/sdb1 [18:00:13] Device: get_mounted_filesystems_using_mtab(): 3 [18:00:13] ------------------ [18:00:13] arg=c5e6bcde-709b-40f8-8438-02594684f84c, device=/dev/sdb1 [18:00:13] /media/michel/SEAG_EXT [18:00:13] ------------------ [18:00:13] Device: get_mounted_filesystems_using_mtab(): 3 [18:00:14] Mounted '/dev/sdb1' at '/run/timeshift/19795/backup' [18:00:14] SnapshotRepo: load_snapshots() [18:00:14] E: Les données JSON doivent être codées en UTF-8 [18:00:14] loading snapshots from '/run/timeshift/19795/backup/timeshift/snapshots': 0 found [18:00:14] SnapshotRepo: unlock_and_mount_device(): exit [18:00:14] Périphérique sélectionné pour les instantanés: /dev/sdb1 [18:00:14] Espace disponible: 429,9 GB [18:00:14] SnapshotRepo: check_status() [18:00:14] SnapshotRepo: available() [18:00:14] is_available: ok [18:00:14] SnapshotRepo: has_snapshots() [18:00:14] SnapshotRepo: has_space() - 0 required (0 B) [18:00:14] Device: get_disk_space_using_df(): 1 [18:00:14] no snapshots [18:00:14] Périphérique pour les instantanés: '/dev/sdb1' [18:00:14] Emplacement des snapshots: /run/timeshift/19795/backup [18:00:14] Aucun instantané sur ce périphérique [18:00:14] Le premier instantané nécessite : 9,6 GB [18:00:14] Statut: NO_SNAPSHOTS_HAS_SPACE [18:00:14] [18:00:14] SnapshotRepo: check_status(): exit [18:00:14] SnapshotRepo: init_from_device(): exit [18:00:14] SnapshotRepo: from_uuid(): exit [18:00:14] Main: initialize_repo(): exit [18:00:14] MainWindow: MainWindow() [18:00:14] SnapshotListBox: SnapshotListBox() [18:00:14] SnapshotListBox: SnapshotListBox(): exit [18:00:14] MainWindow: MainWindow(): exit [18:00:14] MainWindow(): init_delayed() [18:00:14] SnapshotRepo: available() [18:00:14] is_available: ok [18:00:14] SnapshotRepo: available() [18:00:14] is_available: ok [18:00:14] SnapshotRepo: load_snapshots() [18:00:14] E: Les données JSON doivent être codées en UTF-8 [18:00:14] loading snapshots from '/run/timeshift/19795/backup/timeshift/snapshots': 0 found [18:00:14] SnapshotRepo: check_status() [18:00:14] SnapshotRepo: available() [18:00:14] is_available: ok [18:00:14] SnapshotRepo: has_snapshots() [18:00:14] SnapshotRepo: has_space() - 0 required (0 B) [18:00:14] Device: get_disk_space_using_df(): 1 [18:00:14] no snapshots [18:00:14] Périphérique pour les instantanés: '/dev/sdb1' [18:00:14] Emplacement des snapshots: /run/timeshift/19795/backup [18:00:14] Aucun instantané sur ce périphérique [18:00:14] Le premier instantané nécessite : 9,6 GB [18:00:14] Statut: NO_SNAPSHOTS_HAS_SPACE [18:00:14] [18:00:14] SnapshotRepo: check_status(): exit [18:00:14] SnapshotRepo: has_snapshots() [18:00:14] SnapshotRepo: has_snapshots() [18:00:14] MainWindow(): init_delayed(): exit [18:00:20] SnapshotRepo: available() [18:00:20] is_available: ok [18:00:20] SnapshotRepo: has_space() - 0 required (0 B) [18:00:20] Device: get_disk_space_using_df(): 1 [18:00:20] no snapshots [18:00:20] exit_app() [18:00:20] Main: save_app_config() [18:00:20] SnapshotRepo: available() [18:00:20] is_available: ok [18:00:20] SnapshotRepo: has_snapshots() [18:00:20] Configuration sauvegardée: /etc/timeshift/timeshift.json [18:00:20] crontab -l [18:00:20] Impossible de lire le fichier cron tab [18:00:20] crontab -l [18:00:20] Impossible de lire le fichier cron tab [18:00:20] unmount_target_device() [18:00:20] clean_logs() [18:00:20] rm -rf '/tmp/ZTkFexWm' [18:00:20] cleanup_unmount_devices() [18:00:20] Device: get_disk_space_using_df(): 3 [18:00:20] Device: get_mounted_filesystems_using_mtab(): 3 [18:00:20] Device: get_filesystems(): 7 [18:00:20] Found stale mount for device '/dev/sdb1' at path '/run/timeshift/19795/backup' [18:00:20] Unmounted successfully`

I had to delete Timeshift directory on the external disk, then to create a complete snapshot (16.2 GB) from scratch. After this, the snapshot was recognized; here is the corresponding log: `[18:45:45] Journal de session: /var/log/timeshift/2022-12-17_18-45-45_gui.log [18:45:45] Distribution: LinuxMint 20.3 (una) [18:45:45] DIST_ID: LinuxMint [18:45:45] Main: check_dependencies() [18:45:45] Main: add_default_exclude_entries() [18:45:45] Main: add_default_exclude_entries(): exit [18:45:45] update_partitions() [18:45:45] Device: get_disk_space_using_df(): 3 [18:45:45] Device: get_mounted_filesystems_using_mtab(): 3 [18:45:45] Device: get_filesystems(): 7 [18:45:45] partition list updated [18:45:45] detect_system_devices() [18:45:45] / est mappé au périphérique: /dev/sda1, UUID=2729ac5f-3cf9-4197-a4b4-d7331188a142 [18:45:45] /home est mappé au périphérique: /dev/sda2, UUID=a8d0beab-5348-4cbd-be80-e20b3a9097eb [18:45:45] Searching subvolume for system at path: / [18:45:45] Users: root michel [18:45:45] Encrypted home users: [18:45:45] Encrypted home dirs:

[18:45:45] Encrypted private dirs:

[18:45:45] Main: load_app_config() [18:45:45] Configuration chargée: /etc/timeshift/timeshift.json [18:45:45] IconManager: init() [18:45:45] bin_path: /usr/bin/timeshift-gtk [18:45:45] found images directory: /usr/share/timeshift/images [18:45:45] Main(): ok [18:45:45] Main: initialize_repo() [18:45:45] backup_uuid=c5e6bcde-709b-40f8-8438-02594684f84c [18:45:45] backup_parent_uuid= [18:45:45] Setting snapshot device from config file [18:45:45] repo: creating from uuid [18:45:45] SnapshotRepo: from_uuid(): RSYNC [18:45:45] uuid=c5e6bcde-709b-40f8-8438-02594684f84c [18:45:45] SnapshotRepo: init_from_device() [18:45:45] [18:45:45] SnapshotRepo: unlock_and_mount_devices() [18:45:45] device=/dev/sdb1 [18:45:45] SnapshotRepo: unlock_and_mount_device() [18:45:45] device=/dev/sdb1 [18:45:46] Device: get_mounted_filesystems_using_mtab(): 3 [18:45:46] ------------------ [18:45:46] arg=c5e6bcde-709b-40f8-8438-02594684f84c, device=/dev/sdb1 [18:45:46] /media/michel/SEAG_EXT [18:45:46] ------------------ [18:45:46] Device: get_mounted_filesystems_using_mtab(): 3 [18:45:46] Mounted '/dev/sdb1' at '/run/timeshift/4947/backup' [18:45:46] SnapshotRepo: load_snapshots() [18:45:46] loading snapshots from '/run/timeshift/4947/backup/timeshift/snapshots': 1 found [18:45:46] SnapshotRepo: unlock_and_mount_device(): exit [18:45:46] Périphérique sélectionné pour les instantanés: /dev/sdb1 [18:45:46] Espace disponible: 429,8 GB [18:45:46] SnapshotRepo: check_status() [18:45:46] SnapshotRepo: available() [18:45:46] is_available: ok [18:45:46] SnapshotRepo: has_snapshots() [18:45:46] SnapshotRepo: has_space() - 0 required (0 B) [18:45:46] Device: get_disk_space_using_df(): 1 [18:45:46] Périphérique pour les instantanés: '/dev/sdb1' [18:45:46] Emplacement des snapshots: /run/timeshift/4947/backup [18:45:46] Valider [18:45:46] 1 instantanés, 429,8 GB libre [18:45:46] Statut: HAS_SNAPSHOTS_HAS_SPACE [18:45:46] [18:45:46] SnapshotRepo: check_status(): exit [18:45:46] SnapshotRepo: init_from_device(): exit [18:45:46] SnapshotRepo: from_uuid(): exit [18:45:46] Main: initialize_repo(): exit [18:45:46] MainWindow: MainWindow() [18:45:46] SnapshotListBox: SnapshotListBox() [18:45:46] SnapshotListBox: SnapshotListBox(): exit [18:45:46] MainWindow: MainWindow(): exit [18:45:46] MainWindow(): init_delayed() [18:45:46] SnapshotRepo: available() [18:45:46] is_available: ok [18:45:46] SnapshotRepo: available() [18:45:46] is_available: ok [18:45:46] SnapshotRepo: load_snapshots() [18:45:46] loading snapshots from '/run/timeshift/4947/backup/timeshift/snapshots': 1 found [18:45:46] SnapshotRepo: check_status() [18:45:46] SnapshotRepo: available() [18:45:46] is_available: ok [18:45:46] SnapshotRepo: has_snapshots() [18:45:46] SnapshotRepo: has_space() - 0 required (0 B) [18:45:46] Device: get_disk_space_using_df(): 1 [18:45:46] Périphérique pour les instantanés: '/dev/sdb1' [18:45:46] Emplacement des snapshots: /run/timeshift/4947/backup [18:45:46] Valider [18:45:46] 1 instantanés, 429,8 GB libre [18:45:46] Statut: HAS_SNAPSHOTS_HAS_SPACE [18:45:46] [18:45:46] SnapshotRepo: check_status(): exit [18:45:46] SnapshotRepo: has_snapshots() [18:45:46] SnapshotRepo: has_snapshots() [18:45:46] MainWindow(): init_delayed(): exit`

Expected behavior Existing snapshot should have been detected by Timeshift.

Screenshots No screenshot available

System:

roadrunner56 commented 1 year ago

I have this same problem in Kubuntu 22.04. I create the snapshot, but when I reinsert the media, Timeshift doesn't recognize it.

MikeNavy commented 1 year ago

Hi, Here is an analysis of the problem.

{ "created" : "1672853782", "sys-uuid" : "2729ac5f-3cf9-4197-a4b4-d7331188a142", "sys-distro" : "LinuxMint 20.3 (una)", "app-version" : "22.06.5", "file_count" : "573303", "tags" : "ondemand", "comments" : "", "live" : "false", "type" : "rsync" }

Regards,

MN

roadrunner56 commented 1 year ago

Thanks mikenavy, I looked at the info.json file and got a similar response. I opened it with librewolf and it said that there were unexpected characters in the file. This seems to be a info.json issue. Does the info.json file get corrupted once the usb stick is removed? This would explain why mike's workaround works. Although, this might suggest that the timeshift backup itself may be corrupt as well.

roadrunner56 commented 1 year ago

I replaced the info.json file with a previously saved one and can confirm that mike's solution works. I removed the USB and reinserted it to make sure that it was not corrupted again, and Timeshift still recognized it.

anselal commented 1 year ago

Same problem on Ubuntu 22.04.2 I think the issue lies on the ubuntu version cause more programs misbehave

brennoflavio commented 1 year ago

Same here in Ubuntu 22.04 using a secondary SATA SSD to store the backup.

To reproduce it, need to select an external drive to store the backup like this: image

Then hit "create" and wait it for complete. image

Files are created in the drive, everything seems ok, timeshift can even open the directory location and browse files from there, but the snapshots does not show in the UI. image

Logs 2023-04-06_15-19-09_gui.log

adrianbienias commented 1 year ago

Same problem here. Snapshots are created, but are not visible in UI.

mmatn commented 1 year ago

Same issue here. Tried to restore but snapshots aren't found although can be found via browse .

anlin01 commented 1 year ago

I have the same issue since a few days. All snapshots are suddenly not displayed any more in the UI. It came suddenly without having done any changes. (All snapshots of the last and this year are not sown, but they are on the external drive). Is here any update?

MikeNavy commented 1 year ago

Hi, Linux Mint versions have not been updated. However, I have been using Timeshift from Tony George PPA https://launchpad.net/~teejee2008/+archive/ubuntu/timeshift for a few months without problem. Note that this does not mean the problem is solved in Teejee version: the problem seldom arrives, on external disks. I still use the workaround: to make a copy of "info.json" file once created, and after having verified it is readable; when the problem occurs, you replace the corrupted one by the good saved "info.json".

Regards,

MN

annehendrikse commented 1 year ago

I have the same problem on a freshly installed Ubuntu installation, as mentioned by e.g. @MikeNavy. I created two snapshots, but none will appear in the overview, eventhough visible in the browser. However, I do not find any info.json file what so ever. So that might be a hint of what is going wrong.

mtwebster commented 1 year ago

Does anyone still have a copy of a corrupt json file - just curious. I'll try to reproduce the issue.

@MikeNavy the PPA pulls this repo and builds automatic when we make any commits, so those are more 'development' versions. They're ahead of official releases by design, and are valuable for getting us feedback for changes before we tag a new version and release it to the masses.

Thanks

MikeNavy commented 1 year ago

@mtwebster Concerning Timeshift, Tony George has written (https://teejeetech.com/?s=timeshift): "Timeshift v22.06 is now available. This is a maintenance release that fixes some bugs. [...] Install sudo add-apt-repository -y ppa:teejee2008/timeshift sudo apt update sudo apt install timeshift"

When you install "sudo add-apt-repository -y ppa:teejee2008/timeshift", the corresponding web page is "https://launchpad.net/~teejee2008/+archive/ubuntu/timeshift". It is presented as "Latest release of Timeshift", while "https://code.launchpad.net/~teejee2008/+recipe/linuxmint-timeshift-daily" is "Daily builds of Timeshift from https://github.com/linuxmint/timeshift".

You say "the PPA pulls this repo and builds automatic when we make any commits, so those are more 'development' versions". If so, where to find the release versions?

Regards,

MN

mtwebster commented 1 year ago

So I tested on an external usb hard drive (not ssd), did a backup, and ran $ sync

This command waits for the I/O write buffer to clear - this causes issues with copying files to usb sticks with file managers as well.

Even with a small backup (2gb) it took a good minute for sync to complete. Meaning, if I disconnect my backup drive before that command completes, my backup will be incomplete.

This write buffer is larger the more memory you have.

With my 64gb of ram, the test backup took 4 seconds to complete, but 1m 2s to finish syncing after the backup completed.

If I limit timeshift to use 1gb only:

systemd-run --scope -p MemoryMax=1G --user sudo  timeshift-gtk

The backup takes 57s then, and 4 seconds to finish syncing.

Obviously we don't want to be told the backup is complete before everything is on the disk. The json file looks correct immediately after the backup because the user space doesn't see the buffering - it's a complete backup to us.

I'm not sure what types of drives you guys are using - I don't have a spare ssd to plug into my external box, but you guys could test it yourselves maybe - after the backup completes, run sync in a terminal and see how long it takes to complete.

I would NOT trust any backups you've made to an external drive, unless it's one you leave plugged in all the time (then the sync would just complete in the background).

I'm going to try and address this asap.

MikeNavy commented 1 year ago

@mtwebster Hi, I use an external drive for the following reasons: A backup drive should be reliable, it should not be permanently mounted to avoid wear, voltage peaks, common mode failure (power supply, PCI controller...), accidental delete or anything wrong from the user.

I insert the USB disk when I want to make a backup, I remove it when backup is done (so, no planned snapshot). [I also backup my home files once Timeshift snapshot is done, I use FreeFileSync for this].

Of course, I am aware of cache problem, and I have used gnome-disks to disable write cache for all disks. [it can be done disk by disk; my internal disk is a SSD and does not need write cache, external disk is for backups only and write cache SHALL be disabled on it].

And, when I remove the external drive, I use "safely remove", the disk icon disappears from the desktop, and when the disk light stops blinking and the disk (it is an HDD) stops running (no vibration), I remove it.

My system partition has some 16 GB files; I make a Timeshift snapshot every two or three days; this corresponds to copy some 4 to 5 GB files at each snapshot (I use flatpaks, they change quickly); a snapshot duration is between 5 to 8 minutes.

I keep the latest two snapshots.

Regards,

MN

mtwebster commented 1 year ago

@MikeNavy Typically from your distribution's package manager.

The current release is 22.11.2 - if you look at the versions on either of those PPAs, they're also 22.11.2 + timestamp.

It seems as though both PPAs provide the same versions, though the Ubuntu one goes back further for older Ubuntu releases - he's probably maintaining both so people that had the older (ubuntu) PPA continue to get updates as well.

I'm not saying don't use those versions - I just wanted to clarify what their sources are, to prevent confusion, since the repo/maintainers have changed. The actual 22.11.2 is from January. Once I get this current issue resolved we'll do a new version.

MikeNavy commented 1 year ago

@mtwebster Hi, When on "https://launchpad.net/~teejee2008/+archive/ubuntu/timeshift" you click on "view package details" on the left. Then you click on "view all builds" on the left, and you filter with "Successfully built". On the list of packages, you see that some are ending with "RELEASE": example "amd64 build of timeshift 22.11.2-0~202304181432~ubuntu20.04.1 in ubuntu focal RELEASE". The latest versions with "RELEASE" are the ones you see when landing on "https://launchpad.net/~teejee2008/+archive/ubuntu/timeshift". Are they releases or not? If not, where to find releases? Users expect that files downloaded from a PPA entitled "Latest releases" are really releases... Regards, MN

 

mtwebster commented 1 year ago

I guess if he wants to call them releases on the Ubuntu PPA, then they're releases. But they're no different than the builds on the daily PPA.

What I consider releases are from the package manager.

brennoflavio commented 1 year ago

Hey @mtwebster , I did some tests on my setup.

First of all, I have one NVME SSD (primary drive) and one SATA SSD (secondary drive, which has one folder with a Duplicity backup only).

First, with both drivers attached, I selected the NVME drive from the wizard an ran a backup. Backup seems to be created successfully, files are there, but no info.json inside the snapshot folder and it does not show in the UI as can be seen in the screenshots.

image

image

Second, I deleted this backup folder, run the wizard again, selected the external drive and did the same procedure. I ran sync after the backup is completed. Same results: backup completed, files there, no info.json,

image

image

It might be not correlated, but this started happening after I added this secondary drive. Before that Timeshift was working correctly. I can't remove the drive now to test if it was the cause or not unfortunately.

Timeshift version:

image

If you want I can run other types of tests (or repeat on a more up to date Timeshift version) and report back here.

mtwebster commented 1 year ago

Thanks, I'll keep trying to reproduce the missing json file, this particular issue wouldn't be related to sync if the file isn't there immediately after you complete the backup.

edit: Can you run timeshift using:

sudo timeshift-gtk --debug

and paste/attach the output?

Also, would you mind trying a newer version (using one of the PPAs mentioned above is probably simplest, since you're on Ubuntu).

Thanks

MikeNavy commented 1 year ago

@mtwebster Hi, You wrote "I guess if he wants to call them releases on the Ubuntu PPA, then they're releases. But they're no different than the builds on the daily PPA". --> there might be an error in PPAs management; daily builds should not be pushed to "Latest release" PPA if they were not releases.

"What I consider releases are from the package manager." Unfortunately, Timeshift is not updated by Ubuntu in its repositories:

It is not updated by Linux Mint in its repositories:

--> latest release version, 22.11.2, is not available from official repositories.

That's why PPAs have been invented; to give fresher versions than the ones from "stable" distros...

Regards,

MN

MikeNavy commented 1 year ago

More description on the problem I have seen:

It arrived only twice, and I have not kept any copy of the corrupted info.json.

As soon as I began to use the workaround (make a copy of info.json before closing Timeshift), the problem never occurred again; I have used for some months Timeshift from the "Latest release" PPA, and the problem never occurred again. --> This does not mean the problem is no longer here, simply it is not systematic and seldom arrives.

Regards,

MN

roadrunner56 commented 1 year ago

If I made a backup that had a corrupted json file, and then restore the json file, is that backup safe to restore? I'm not very familiar with how backup software works.

MikeNavy commented 1 year ago

@roadrunner56 Hi,

If, when further launching Timeshift the snapshot is no longer here, to close Timeshift and to restore the saved info.json is enough to have the snapshot back again in Timeshift window. Is it safe to use it? To my opinion it is also safe to use it as any other Timeshift snapshot. However, until the origin of this bug is found and the bug corrected, there is a risk that some other files in the snapshot could be corrupted, for any Timeshift snapshot. Since Timeshift is a system snapshot tool, but not really a system backup tool, I also use Foxclone for system backup; in case something were wrong with timeshift, I could recover the system using Foxclone. Regards, MN

roadrunner56 commented 1 year ago

Thanks for the response! I tried doing a timeshift snapshot and leaving it overnight for about 10 hours. The USB that I use for my snapshots flickers when it is in use. When I returned to my computer in the morning, I saw that the USB was no longer flickering and there was a complete snapshot. I was able to remove the USB, reinsert it, and then see the snapshot there without having to replace the json file. Hope this info helps.

rafaeleyng commented 1 year ago

I was having a similar problem on Ubuntu 22.04, Timeshift 21,09.1.

Following @MikeNavy's advice on using https://launchpad.net/~teejee2008/+archive/ubuntu/timeshift, I updated it with:

sudo add-apt-repository ppa:teejee2008/timeshift
sudo apt install --only-upgrade timeshift

and now with 22.11.2 it works fine.

BTW, I was testing this backing up to the same SSD my system is running, and the problem would happen even in that case, so probably not a caching/sync issue.

MikeNavy commented 1 year ago

Hi, Here are several ways to get 22.11.2 version:

Regards, MN

brennoflavio commented 1 year ago

Thanks, I'll keep trying to reproduce the missing json file, this particular issue wouldn't be related to sync if the file isn't there immediately after you complete the backup.

edit: Can you run timeshift using:

sudo timeshift-gtk --debug

and paste/attach the output?

Also, would you mind trying a newer version (using one of the PPAs mentioned above is probably simplest, since you're on Ubuntu).

Thanks

@mtwebster FYI updating timeshift (using the ppa) does indeed fix the issue for me. Thanks for the help and sorry for the delay in the response!

anlin01 commented 1 year ago

Hello, I am a Linux-user without deep knowledge, just finding out things by reading and trying. I realized that this issue is still existing with the normal offered installation of timeshift (on ubuntu - version 21.09.1). If I understood correctly, version 22.11.2 should work. Will this version be distributed worldwide automatically or does everybody has to update it manually using the ppa? I know that people are working hard on open source software, so a deep thank you. I am just wondering how people get along with this without a deeper software knowledge. What is the advice to do?

MikeNavy commented 1 year ago

Hi, Linux Mint has not released any version above 22.06.5, always in its repositories. 22.11.2 is an unstable one, and Mint team is working on 23.06.1, a newer unstable version. If you want to install 22.11.2, you can find it in Ubuntu Universe (if you use Mint 21.x you can download and install the deb, if you use Mint 20.x you need to download the source and compile it; see one of my messages for the download links and compiling procedure; you can also use 23.06.1 version from the PPA or from Linux Mint GitHub).

Regards,

MN

rodhfr commented 1 year ago

the problem happend with me today, made two manual snapshots none of them appeared in the gui while their archives show up in the file explorer. I'm using pop 22.04 installed timeshift via popos shop

ned8800 commented 1 year ago

Same here, I'm also using pop 22.04 installed timeshift via popos shop, I did create 2 backups stored in external samsung T5 SSD (SSD formated as ext4 filesystem), and Timeshift UI still does not see backups, but I can access them via nautilus.

Update: it seems popos shop version of Timeshift does not create "info.json" files in snapshot directory, if I add this file manually UI displays snapshot.

Update 2: I did find a solution. Following @rafaeleyng instruction update Timeshift:

sudo add-apt-repository ppa:teejee2008/timeshift
sudo apt install --only-upgrade timeshift

After that create a new backup for your system only (exclude /home directory to save memory). In directory of this new backup find file "info.json" and copy it to the directory of the exact backup, which does not show in the Timeshift UI. (Timeshift stores backups in filesystem root inside /timeshift folder). This will look like that: Screenshot from 2023-11-23 08-03-21 Go to the https://www.unixtimestamp.com/ and convert time of your backup folder into UNIX-format time (in my case it's 2023-11-23 00-31-07), should be something like this: Screenshot from 2023-11-23 08-31-22 Copy and insert this UNIX-formatted time inside copied "info.json" file like this: Screenshot from 2023-11-23 08-32-48 Save the file. After all that backup will successfully show in Timeshift UI, and you will be able to time-shift (ba-dum-tsss) to the previous stable system version.

PS: Thank @rafaeleyng and @MikeNavy again for Timeshift update instruction, it helped so much.

juancitotrucupey commented 1 year ago

Thanks, I'll keep trying to reproduce the missing json file, this particular issue wouldn't be related to sync if the file isn't there immediately after you complete the backup.

edit: Can you run timeshift using:

sudo timeshift-gtk --debug

and paste/attach the output?

Also, would you mind trying a newer version (using one of the PPAs mentioned above is probably simplest, since you're on Ubuntu).

Thanks

I am using timeshift version 21.09.1 and looks like the snapshots are not begin completely created, this the output I get while running in debug mode when trying to create a snapshot:

Creating new snapshot...(RSYNC)
Saving to device: /dev/nvme0n1p2, mounted at path: /run/timeshift/backup
D: Main: save_exclude_list_for_backup()
D: Main: create_exclude_list_for_backup()
D: Main: create_exclude_list_for_backup(): exit
Synching files with rsync...
D: RsyncTask:execute()
D: rsync -aii --recursive --verbose --delete --force --stats --sparse --delete-excluded --log-file='/run/timeshift/backup/timeshift/snapshots/2023-11-28_09-55-05/rsync-log' --exclude-from='/run/timeshift/backup/timeshift/snapshots/2023-11-28_09-55-05/exclude.list' --delete-excluded '/' '/run/timeshift/backup/timeshift/snapshots/2023-11-28_09-55-05/localhost/'
D: RsyncTask:prepare(): saved: /tmp/Ay14nNwr/2023-11-28_09-55-05/script.sh
D: AsyncTask: child_pid: 14291
 85,74% complete (00:00:05 remaining)
(timeshift-gtk:14212): Gtk-WARNING **: 09:55:39.035: Failed to set text '\x92)m/\xf1\u007f' from markup due to error parsing markup: Error on line 1 char 15: Invalid UTF-8 encoded text in name — not valid “\x92)m/\xf1\u007f”
D: AsyncTask: finish(): entermaining)
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/backup/timeshift/snapshots': 0 found
D: rm -rf "/run/timeshift/backup/timeshift/snapshots-boot/"
D: rm -rf "/run/timeshift/backup/timeshift/snapshots-hourly/"
D: rm -rf "/run/timeshift/backup/timeshift/snapshots-daily/"
D: rm -rf "/run/timeshift/backup/timeshift/snapshots-weekly/"
D: rm -rf "/run/timeshift/backup/timeshift/snapshots-monthly/"
D: rm -rf "/run/timeshift/backup/timeshift/snapshots-ondemand/"
D: Symlinks updated

D: page: 3
D: SnapshotRepo: available()
D: is_available: ok
D: SnapshotRepo: load_snapshots()
D: loading snapshots from '/run/timeshift/backup/timeshift/snapshots': 0 found
D: SnapshotRepo: check_status()
D: SnapshotRepo: available()
D: is_available: ok
D: SnapshotRepo: has_snapshots()
D: SnapshotRepo: has_space()
D: df -T -B1 '/dev/nvme0n1p2'
D: Device: get_disk_space_using_df(): 1
D: no snapshots
D: Snapshot device: '/dev/nvme0n1p2'
D: Snapshot location: /run/timeshift/backup
D: No snapshots on this device
D: First snapshot requires: 9 B
D: Status: NO_SNAPSHOTS_HAS_SPACE
D: 
D: SnapshotRepo: check_status(): exit
D: SnapshotRepo: has_snapshots()
D: SnapshotRepo: has_snapshots()

I installed timeshift following the documentaiton on the official website i.e.

sudo add-apt-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift

and the altest version available was 21.09.1, so, I had to add to use the alternative way of loading the repository as

sudo add-apt-repository ppa:teejee2008/timeshift

to get the version 23.07.1 which does create the snapshot and shows it in the UI. Why in the official documentation is is suggested to use sudo add-apt-repository -y ppa:teejee2008/ppa instead of sudo add-apt-repository -y ppa:teejee2008/timeshift? what is the difference between these two, and which one do you recommend to use?

With version 23.07.1 I get the following output when generating the snapshot in debug mode:

------------------------------------------------------------------------------
Estimating system size...
D: estimate_system_size()
D: Using temp dir '/tmp/2QwqATRw'
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/2QwqATRw/exclude.list' /. '/tmp/2QwqATRw/empty' &> '/tmp/2QwqATRw/rsync.log'
D: First snapshot size: 9,8 GB
D: File count: 221564
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/nvme0n1p2, mounted at path: /run/timeshift/23344/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/23344/backup/timeshift/snapshots/2023-11-28_10-11-47/rsync-log' --exclude-from='/run/timeshift/23344/backup/timeshift/snapshots/2023-11-28_10-11-47/exclude.list' --delete-excluded '/' '/run/timeshift/23344/backup/timeshift/snapshots/2023-11-28_10-11-47/localhost/'
D: RsyncTask:prepare(): saved: /tmp/2QwqATRw/2023-11-28_10-11-49/script.sh
D: AsyncTask: child_pid: 23432
D: AsyncTask: finish(): enterng)
D: exit_code: 0
Created control file: /run/timeshift/23344/backup/timeshift/snapshots/2023-11-28_10-11-47/info.json
RSYNC Snapshot saved successfully (49s)
Tagged snapshot '2023-11-28_10-11-47': ondemand
------------------------------------------------------------------------------
D: SnapshotRepo: load_snapshots()
D: loading snapshots from '/run/timeshift/23344/backup/timeshift/snapshots': 1 found
D: rm -rf "/run/timeshift/23344/backup/timeshift/snapshots-boot/"
D: rm -rf "/run/timeshift/23344/backup/timeshift/snapshots-hourly/"
D: rm -rf "/run/timeshift/23344/backup/timeshift/snapshots-daily/"
D: rm -rf "/run/timeshift/23344/backup/timeshift/snapshots-weekly/"
D: rm -rf "/run/timeshift/23344/backup/timeshift/snapshots-monthly/"
D: rm -rf "/run/timeshift/23344/backup/timeshift/snapshots-ondemand/"
D: ln --symbolic "../snapshots/2023-11-28_10-11-47" -t "/run/timeshift/23344/backup/timeshift/snapshots-ondemand"
D: Symlinks updated

D: page: 3
D: SnapshotRepo: available()
D: is_available: ok
D: SnapshotRepo: load_snapshots()
D: loading snapshots from '/run/timeshift/23344/backup/timeshift/snapshots': 1 found
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/nvme0n1p2'
D: Device: get_disk_space_using_df(): 1
D: Snapshot device: '/dev/nvme0n1p2'
D: Snapshot location: /run/timeshift/23344/backup
D: OK
D: 1 snapshots, 214,3 GB free
D: Status: HAS_SNAPSHOTS_HAS_SPACE
D: 
D: SnapshotRepo: check_status(): exit
D: SnapshotRepo: has_snapshots()
D: SnapshotRepo: has_snapshots()

the only problem I have seen thus far is that timeshift does not provide an estimate for the snapshoit time nor shows progress in the progress bar until it is finished

Screenshot from 2023-11-28 10-18-11

nmandelblit commented 10 months ago

same here, not visible on GUI

francogp commented 8 months ago

same here!