hirak99 / yabsnap

Btrfs Scheduled Snapshot Manager for Arch
Apache License 2.0
65 stars 2 forks source link

Feature Request: Add Option to Toggle Snapshots for Specific Volumes on Pacman Actions in Yabsnap #26

Closed Celibistrial closed 9 months ago

Celibistrial commented 9 months ago

Hello ,

I am currently using yabsnap for managing snapshots on two volumes, namely @root and @data. The current functionality of yabsnap takes snapshots of both volumes whenever pacman performs any actions. However, I would like to propose the addition of a feature that allows users to toggle the behavior of yabsnap, specifically deciding whether snapshots should be taken for the @datavolume when pacman performs action. This toggle option would provide users with more control over the snapshot process, ensuring snapshots are only captured for the @rootvolume when pacman performs actions.

Thanks

hirak99 commented 9 months ago

Hi,

Yes, disabling snaps on every installation for certain volumes makes a lot of sense.

This is currently governed by keep_preinstall -

# How many pre-installation snaps to keep.
# Any value more than 0 will enable pacman hook, and store snap on before pacman operation.
# Will also work for AUR managers such as yay, since AUR managers also use pacman.
keep_preinstall = 1

So assuming I understood you correctly, you should be all set if you change keep_preinstall to 0 for the data config?

hirak99 commented 9 months ago

Note, you can verify your changes with the following command to dry run -

yabsnap --verbose --dry-run internal-preupdate

It will list what will happen on the next execution of pacman hook.

You should see that it will not want to maintain any snaps for the data volume. On the first execution, it may also delete any existing data snaps which were taken due to pacman (it will leave all periodic subvolumes alone).

Celibistrial commented 9 months ago

Oh okay , thank you thats exactly what i wanted :) I really should have read the config file properly Thank you for making yabsnap , its really nice