Timeshift backup: internal vs external storage?

I'm new to using Timeshift and I'm trying to figure out whether or not I should use external storage device for my Timeshift backups.

I know that one advantage of storing the Timeshift backups on my computer's internal storage is convenience. And I have a vague idea that maybe it's safer to store it on external device (but I'm not sure exactly why).

What are the pros and cons of storing the Timeshift backups on internal vs external device? What would you recommend me to do?

Also, what about cloud storage?

inxi -Faz

System:    Kernel: 5.10.60-1-lts x86_64 bits: 64 compiler: gcc v: 11.1.0 
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts root=UUID=8d05eb79-30ef-4c21-92f0-c8c7c8baee18 rw 
           [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0 
           systemd.unified_cgroup_hierarchy=1 loglevel=3 
           Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1 vt: 7 dm: LightDM 1.30.0 
           Distro: Garuda Linux base: Arch Linux 
Machine:   Type: Laptop System: Acer product: Aspire A315-56 v: V1.15 serial: <filter> 
           Mobo: IL model: Sleepy_IL v: V1.15 serial: <filter> UEFI: Insyde v: 1.15 date: 07/13/2020 
Battery:   ID-1: BAT1 charge: 47.6 Wh (100.0%) condition: 47.6/47.8 Wh (99.5%) volts: 12.4 min: 11.2 model: LGC AP18C8K 
           type: Li-ion serial: N/A status: Full 
CPU:       Info: Dual Core model: Intel Core i3-1005G1 bits: 64 type: MT MCP arch: Ice Lake family: 6 model-id: 7E (126) 
           stepping: 5 microcode: A6 cache: L2: 4 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 9523 
           Speed: 3401 MHz min/max: 400/3400 MHz Core speeds (MHz): 1: 3401 2: 3401 3: 3401 4: 3210 
           Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
           Type: l1tf status: Not affected 
           Type: mds status: Not affected 
           Type: meltdown status: Not affected 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling 
           Type: srbds status: Not affected 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Intel Iris Plus Graphics G1 vendor: Acer Incorporated ALI driver: i915 v: kernel bus-ID: 00:02.0 
           chip-ID: 8086:8a56 class-ID: 0300 
           Device-2: Quanta HD User Facing type: USB driver: uvcvideo bus-ID: 1-7:4 chip-ID: 0408:a061 class-ID: 0e02 
           Display: x11 server: X.Org 1.20.13 compositor: xfwm4 v: 4.16.1 driver: loaded: intel unloaded: modesetting 
           alternate: fbdev,vesa display-ID: :0.0 screens: 1 
           Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") s-diag: 582mm (22.9") 
           Monitor-1: eDP1 res: 1920x1080 hz: 60 dpi: 143 size: 340x190mm (13.4x7.5") diag: 389mm (15.3") 
           OpenGL: renderer: Mesa Intel UHD Graphics (ICL GT1) v: 4.6 Mesa 21.2.1 direct render: Yes 
Audio:     Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Acer Incorporated ALI driver: snd_hda_intel v: kernel 
           alternate: snd_sof_pci bus-ID: 00:1f.3 chip-ID: 8086:34c8 class-ID: 0403 
           Sound Server-1: ALSA v: k5.10.60-1-lts running: yes 
           Sound Server-2: sndio v: N/A running: no 
           Sound Server-3: JACK v: 1.9.19 running: no 
           Sound Server-4: PulseAudio v: 15.0 running: yes 
           Sound Server-5: PipeWire v: 0.3.33 running: yes 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Acer Incorporated ALI driver: r8169 
           v: kernel port: 4000 bus-ID: 01:00.0 chip-ID: 10ec:8168 class-ID: 0200 
           IF: enp1s0 state: down mac: <filter> 
           Device-2: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter vendor: Lite-On driver: ath10k_pci v: kernel 
           port: 4000 bus-ID: 02:00.0 chip-ID: 168c:0042 class-ID: 0280 
           IF: wlp2s0 state: up mac: <filter> 
           IF-ID-1: anbox0 state: down mac: <filter> 
           IF-ID-2: wg-mullvad state: unknown speed: N/A duplex: N/A mac: N/A 
Bluetooth: Device-1: Lite-On Qualcomm Atheros QCA9377 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 1-10:5 
           chip-ID: 04ca:3015 class-ID: e001 
           Report: bt-adapter ID: hci0 rfk-id: 0 state: down bt-service: enabled,running rfk-block: hardware: no software: yes 
           address: <filter> 
Drives:    Local Storage: total: 238.47 GiB used: 95.06 GiB (39.9%) 
           SMART Message: Required tool smartctl not installed. Check --recommends 
           ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: RBUSNS8154P3256GJ1 size: 238.47 GiB block-size: 
           physical: 512 B logical: 512 B speed: 15.8 Gb/s lanes: 2 type: SSD serial: <filter> rev: E8FK12.3 temp: 34.9 C 
           scheme: GPT 
Partition: ID-1: / raw-size: 238.21 GiB size: 238.21 GiB (100.00%) used: 95.06 GiB (39.9%) fs: btrfs dev: /dev/nvme0n1p2 
           maj-min: 259:2 
           ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%) used: 562 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 
           maj-min: 259:1 
           ID-3: /home raw-size: 238.21 GiB size: 238.21 GiB (100.00%) used: 95.06 GiB (39.9%) fs: btrfs dev: /dev/nvme0n1p2 
           maj-min: 259:2 
           ID-4: /var/log raw-size: 238.21 GiB size: 238.21 GiB (100.00%) used: 95.06 GiB (39.9%) fs: btrfs 
           dev: /dev/nvme0n1p2 maj-min: 259:2 
           ID-5: /var/tmp raw-size: 238.21 GiB size: 238.21 GiB (100.00%) used: 95.06 GiB (39.9%) fs: btrfs 
           dev: /dev/nvme0n1p2 maj-min: 259:2 
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) 
           ID-1: swap-1 type: zram size: 7.56 GiB used: 3.5 MiB (0.0%) priority: 100 dev: /dev/zram0 
Sensors:   System Temperatures: cpu: 62.0 C mobo: N/A 
           Fan Speeds (RPM): N/A 
Info:      Processes: 266 Uptime: 5h 4m wakeups: 8 Memory: 7.56 GiB used: 3.58 GiB (47.4%) Init: systemd v: 249 
           tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: pacman: 1746 lib: 385 Shell: Bash v: 5.1.8 
           running-in: xfce4-terminal inxi: 3.3.06 

Please, use first forum search function before open a new topic.
I move it to #community from #issues-assistance .

From homepage:

*Garuda Linux does not imply that Timeshift and BTRFS are a full backup solution. If you wish to ensure your data's security you must implement your own full data backup regimen. Garuda is not responsible in any way or manner if a data loss occurs. The user is solely responsible for ensuring the safety of their own data. Likewise, Garuda cannot guarantee that Timeshift can recover your system to a functional state in the event of a serious system breakage.
2 Likes

From forum:

For the Internet:

Both seem to go towards a No external device...

2 Likes

Please, use first forum search function before open a new topic.
I move it to #community from #issues-assistance .

I did search the forum but I didn't find anything

1 Like

Both seem to go towards a No external device...

Ok but what are the security limitations of storing the snapshot on internal device? What problems can be solved using internally stored snapshot, and which problems cannot be solved by the same? Where does the line go?

In my opinion, it is a matter of purpose.
Timeshift should be considered "only" as a tool to save you in case of troubles during updates and installations, so the focus is on performance. In-fact snapshot saving is almost immediate, and you don't even notice it during a system update. Same for the restore.
It is not a backup tool, like Back In Time, whose purpose is to save your data, documents, projects, so these should go external, to save your work if the disk crashes.
Timeshift cannot do that: if you go eg two days back with a restore, you don't want to loose two days of work!

1 Like

Unfortunately Timeshift devs where BTRFS is concerned decided that the boot snapshots would only work form the same drive as your OS instead of giving the choice to have the snapshots stored on a separate drive.

filo is right Timeshift is not a backup solution, it is there if updates go sideways or you mess up something and just need a quick restore. As for back up I just make sure there is never anything on my OS drive I don't want to lose. The only things I actually backup from the OS drive are the browsers user folders other wise if I do mess up bad enough that I can't get back in with Timeshift it's only a few hours to reinstall the OS and have everything back to what it was before the disaster.

3 Likes

Timeshift is the answer to these.

1 Like

I believe it may be a BTRFS limitation. You can, however, store backup copies anywhere you want them to be.

4 Likes

It isn't a btrfs limitation.

Timeshift is incredibly inflexible when it comes to btrfs. Not only does not support any kind of replication to external devices, it creates rw snapshots instead of ro snapshots so if you want to do snapshot replication you have to take snapshots of your snapshots. :neutral_face:

The trade-off for that lack of flexibility is it extremely easy to use since it basically offers no options at all.

5 Likes

Thanks for the clarification. Does snapper do any better, I wonder?

3 Likes

A bit better. Snapper doesn't support snapshot replication directly but it takes read-only snapshots and there are several additional packages which support replicating Snapper snapshots to different devices.

5 Likes

I am gonna test later using timeshift with borg+borgmatic.

The idea would be to create a borgmatic config that would backup the timeshift-btrfs/snapshots folder to another external drive.

With borg only the first backup of the first snapshot should take time, the others should be pretty quick, and space/compression/encription/deduplication considerations are pretty much solved.

Wonder if I can do a script running out of systemd to do the backups ( maybe only ran if a new snapshot is found ? )

1 Like

You could use a systemd path unit to detect when a snapshot it written and mount the latest snapshot to a fixed location if borg isn't running.(The check for borg is to make sure you don't swap the snapshot out during a backup)

Then just point borgmatic to that directory.

Alternatively, you could just use borg to backup the filesystem directly....

2 Likes
You could use a systemd path unit to detect when a snapshot it written and mount the latest snapshot to a fixed location if borg isn't running.(The check for borg is to make sure you don't swap the snapshot out during a backup)

Then just point borgmatic to that directory.

I think that is an issue with timeshift i guess ( it moves snapshots around, right? snapper, which is what i am used to , doesn't, just sets btrfs default to proper one ).

But ... well ... I could see a "backup garuda tool" to backup snapshots, where the input would only be "where to". Then keep the user informed that he has to wait until borg done :slight_smile:

Or maybe just use vorta app :slight_smile:

anyway , there are lots of good backup solutions :slight_smile:

1 Like

Are there any other apps to do backups?

1 Like

If you want backups and not snapshots there are lots.

  • Borg/vorta
  • Restic
  • Deja dup
  • Backintime
3 Likes

Thank you for info. Tomorrow, I will check them out.

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.