Which folders and files do I need to exclude from TimeShift?

Also is there a way to also exclude programs installed as .deb ?

I doing this to reduce Backup size as I have limited storage.

100GB - Windows 11
400GB - Storage
400GB - Mint
100GB - TimeShift
  • stuner@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    2 days ago

    You can make this work using ext and Timeshift rsync. I have also opted to exclude /var/lib/flatpak/ because it’s quite large. With that, my 5 snapshots currently take up about 34 GB.

    However, I would recommend backing up your deb applications/packages (typically installed under/usr), as those can be critical for your system.

  • If you can’t take advantage of Timeshift’s BTRFS support, you’ll probably need to keep an eye on disk space regardless.

    All the .deb files are installed across system directories like /usr and /etc. If you only want backups of your files, just exclude everything outside /home and your data drive. This makes it more difficult to recover from a failed upgrade Windows System Restore style (as you exclude the system components from the backups) but hopefully you’ll never need that (or will be willing to reinstall and restore from backup when failure does happen). You may also want to exclude folders like $HOME/.cache and $HOME/.var if they’re present on your system. I think Chrome puts some of its cache in $HOME/.config as well, though I’d back up most .config folders myself.

    If your storage is that limited and you’re already familiar with Timeshift, you may want to consider switching to BTRFS. It’s not very friendly when it’s almost full, but compression and deduplication can save a lot of disk space, especially with tools like Timeshift. Other filesystems also offer these features, but Timeshift doesn’t make use of anything but BTRFS as far as I know.

    • gpstarman@lemmy.todayOP
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      If you only want backups of your files

      Actually, I want to backup my system as I’m new to Linux, there is that I will break the system. So, setting up my system from ground again due to some silly mistake I made is tiresome. Also I have separate Storage drive for personal files.

      BTRFS.

      I’m afraid about the compatibility of BTRFS ( not like system drive need any compatibility ). Does it have a good community support as ext4?

      It’s not very friendly when it’s almost full

      ?

      • Actually, I want to backup my system as I’m new to Linux, there is that I will break the system.

        Then you will need to also include most if not all system packages. You can exclude your home folder if you want.

        Note that there are big differences between how Timeshift works on btrfs or on anything else. BTRFS snapshots allow something called “copy on write”, basically allowing the system to make a “copy” of a file that references the same data as another, and from that moment only tracking changes. That way, you can instantly create snapshots of entire drives, and keep dozens of snapshots without risking running out of storage. I’ve got my system set up to make a snapshot every time software updates are installed and the biggest snapshot I’ve seen was about 45GB (it was a snapshot from before upgrading Ubuntu 22.04 to 24.04 and included a few virtual machine and ML models). My daily apt upgrades generate snapshots of about 100MB but I can still roll back the moment I need to. I can even select an older snapshot in my Grub boot menu in case my bootloader dies.

        The rsync based approach used on ext4 and other filesystems isn’t that flexible. You’ll get snapshots, but each file needs to be processed individually. This means you need to make sure to close down programs before making snapshots or you’ll risk corruption. The disk space savings are also more limited; filesystems like ext4 will still have almost 0 overhead for files that haven’t been changed between two snapshots, but if you change a single bit in the middle of a 100MB file, chances are rsync will create a fresh copy (whereas btrfs would only store an extra extent, usually 4KB, which is the smallest unit the filesystem will let you control).

        Restoring snapshots using rsync requires copying/linking files back, and can’t be done transparently. This means you can’t boot a previous version of the system like on btrfs, you’ll need to boot into recovery mode, restore the snapshot manually, and reboot.

        I’m afraid about the compatibility of BTRFS ( not like system drive need any compatibility ). Does it have a good community support as ext4?

        Support is mature enough that it’ll Just Work in most cases. With some edge cases, like disk usage statistics not being accurate, because tools don’t realise files can be partially deduplicated or compressed, let alone taking subvolume quotas into account. In most cases, the more fancy features you enable, the more older software will act a bit funny.

        I believe Fedora has picked it as the default for a few years now. Haven’t checked, though.

        ?

        Tools like df and other file system monitors only support very rudimentary disk usage statistics, even when certain ext4 features are involved. There are a bunch of methods in which btrfs can seem full, but still have plenty of space, or it can seem like there are gigabytes of space left but the volume is so unbalanced that that space isn’t actually usable. There are also about three types of data stores that can technically get full (though your rarely run into that). Usually, you can claim back a chunk of storage after a year or two by rebalancing and defragmenting the file system, especially if you use advanced features like snapshotting. I believe there are rolls to automatically run these operations as well.

        These issues seem to come up. Most when you’ve nearly filled the FS to the brim. Keeping 10% free seems to prevent most of them from ever popping up.

        There are a few other edge cases as well (like how you should disable compression on swap files and virtual machine images, and how you may want to disable copy on write and snapshots on them as well for performance reasons) but they’re more niche. There are a bunch of really cool features as well (like how you can send a snapshot over the network in the form of only the difference since the version before, making network disk backups tiny). You’re not that likely to run into any of them, but the project website has everything documented if you’re interested.

        • gpstarman@lemmy.todayOP
          link
          fedilink
          arrow-up
          2
          ·
          3 days ago

          Thanks man. you rock.

          I learned a lot. Now, I’m planning to use BTRFS in a VM first to understand it fully.

        • gpstarman@lemmy.todayOP
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          Tools like df and other file system monitors

          What’s df though?😅 Is it like cli file manager.

          The problems you mentioned regarding the remaining space left on BTRFS, they occur on GUI file managers too?

          • df is the standard command line tool to see how much of your disk space is free.

            The problems happen in GUI tools too. Most of the time, they work out in your favour (you think you only have 10GB left but you can put 15GB away) but after a lot of deletes you may “lose” some space until you do a rebalance even through you’d think looking at the stats that you have plenty of space.

            Another issue is that file managers showing you a file’s size often don’t know about compression. You can store a large text file with standard compression on a disk and have it be reported as 100MB while it only takes up a megabyte of space. You can end up deleting a whole bunch of “hundred megabyte files” and save basically no disk space. Other file types, like images and video, often do represent the real size as they’re already compressed, making some 100MB files larger than others. If you don’t enable compression, you won’t have this problem, or course.

            GUI tools also often don’t know about CoW. If you copy a file on BTRFS, the copy action should be instant and take up maybe a couple hundred bytes for the new metadata. To your file manager it looks like you have two 3GB movie files, but in practice they’re just names pointing to the same directory. You can get petabytes of used disk space this way by just making more and more copies, even though your actual disk space barely grows. This also means deleting files may not clear up as much disk space as you’d like.

              • I take advantage of the free disk space savings and don’t worry about disk space much. I’ll clear out my download directory and maybe some caches when my disk usage grows beyond 80% (as reported in GUI tools). Running duperemove across my drive every now and then also tends to help a lot without deleting anything.

                If I do run out of space, there are a few interactive terminal tools that’ll point out the biggest files so I can delete them and save some space in a pinch. I practice, I just don’t really think about it much.

      • tron@midwest.social
        link
        fedilink
        arrow-up
        2
        ·
        3 days ago

        Snapshotting is a feature of BTRFS file systems. Timeshift will manage said snapshots. BTRFS file system is required.

  • cmnybo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 days ago

    I put /var/lib/flatpak in a separate btrfs subvolume. Timeshift only takes a snapshot of the root and home subvolumes.

    • gpstarman@lemmy.todayOP
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      3 days ago

      Oh. BTRFS is alien to me man. But a lot of people recommending it to counter the storage constraints. I have to learn it first.

  • mrvictory1@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    3 days ago

    When I did dual boot (good riddance) I gave Linux <100 GB and rest to Windows. I had additional storage partitions but in long term they made management harder for me so I mounted Windows partition for additional space. Here are my recommendations:

    • Merge “Mint” and “Timeshift” partitions.
    • Use BTRFS if you can. In rsync mode of timeshift, the disk will hold 2 copies of your current system + changes between snapshots. In BTRFS there will be 1 copy + changes. BTRFS also supports compression.
    • System wide flatpaks are in /var/lib/flatpak/app. Flatpak installed for one user only are installed somewhere in ~/.var. Keep in mind that home directory is not backed up by default.
    • If you can, ditch dual boot. If the reason of keeping Windows is MS Office or Adobe apps, you can install them on Wine.
    • gpstarman@lemmy.todayOP
      link
      fedilink
      arrow-up
      2
      ·
      3 days ago

      Merge “Mint” and “Timeshift” partitions.

      I thought (also most people said) keeping the Backup in same partition as root defeats the purpose of Backup and brings certain inconvenience like can’t just delete the partition. Also I don’t know if its possible to restore a backup from a partition to the same partition itself.

      Use BTRFS if you can.

      I’m aware that BTRFS has certain adavantages. But the whole BTRFS is alien to me, as I’m new to Linux. Also I assumed that BTRFS doesn’t have enough community support as ext4 is default on Linux and many people just aren’t bothered to change it.

      If you can, ditch dual boot. If the reason of keeping Windows is MS Office or Adobe apps, you can install them on Wine.

      I only use Windows for DaVinci Resolve Free. And for the possibility of requiring Windows exclusive programs in the future as I’m an Engineering Student.

      System wide flatpaks are in /var/lib/flatpak/app. Flatpak installed for one user only are installed somewhere in ~/.var. Keep in mind that home directory is not backed up by default.

      Thank You.

      • NaN@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        6
        ·
        3 days ago

        Btrfs is well supported.

        Btrfs uses snapshots and subvolumes. It is not a traditional partition and can restore to itself.

        I think Timeshift is primarily a snapshotting tool for a quick rollback if something breaks. I would not consider it a full backup tool, there are tools that are much more robust and configurable for keeping files safe and elsewhere.

        • mrvictory1@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          I would recommend using Timeshift. BTRFS mode can create local snapshots and rsync mode can be used to backup to external media. Timeshift can exclude directories based on user preferences.

        • gpstarman@lemmy.todayOP
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          there are tools that are much more robust and configurable for keeping files safe and elsewhere.

          But AFAIK, Only Pika Backup has intuitive GUI. And It’s auto backup doen’t work on Mint 21.3 cause of some old packge. So I sticked to TimeShift.

      • Canary9341@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        3 days ago

        As the other user says, btrfs is well supported. In fact it is preferable in your case, as it allows you to use transparent compression for the whole system. In addition, btrfs snapshots are also drastically safer and faster.

          • You can convert a running ext4 system into BTRFS and even move back to ext4, but to optimise the file system there are quite a few tricks to run as well. They come down to “remove the ext4 metadata (can’t go back after that), defragment, balance, maybe defragment again” and there are tools out there that make this stuff doable though the GUI, but I wouldn’t necessarily recommend that approach I novices.

            The cleanest switch would be to reinstall. Not just because of the steps above, but also to make sure the right subvolumes are set up with the right properties. This too can be done from a (mostly) running system, but it’s an absolute pain in the ass to have to do manually, especially if you’re not an expert in command line stuff.

            ext4 works fine if you don’t want to deal with all of this, but you’ll have to keep an eye on things like backup sizes just a bit more often

            • gpstarman@lemmy.todayOP
              link
              fedilink
              arrow-up
              1
              ·
              3 days ago

              Thank You for detailed information.

              I think I should learn more about BTRFS and practice installing or converting it in VM.

              • Doing it in a VM would be excellent! I recommend taking a look at a tool called “btrfs assistant” if it’s available for your distro, it’s a lot easier to navigate than the deep menu of command line flags.

          • Canary9341@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            3 days ago

            You can convert it from ext4 to btrfs, but I don’t know how well it works. If you are going to do it, I suggest you check it carefully and make a backup.