]> git.rmz.io Git - dotfiles.git/blob - bin/snp
lazyvim: absorb snacks dashboard
[dotfiles.git] / bin / snp
1 #!/usr/bin/env bash
2 # Runs a command wrapped with btrfs pre-post snapshots.
3 date=$(date "+%Y-%m-%d-%H%M%S")
4 config=-.snapshot
5
6 cmd="$@"
7
8 echo -e "> Creating new pre snapshots..."
9 snapshot_root_nbr=$(snapper -c -.snapshot create --type=pre --cleanup-algorithm=number --print-number --description="${cmd}")
10 snapshot_usr_nbr=$(snapper -c usr.snapshot create --type=pre --cleanup-algorithm=number --print-number --description="${cmd}")
11 echo -e "> New pre snapshots created: /(${snapshot_root_nbr}) /usr(${snapshot_usr_nbr})"
12
13 eval "$cmd"
14
15 echo -e "> Creating new post snapshot..."
16 snapshot_root_nbr=$(snapper -c -.snapshot create --type=post --cleanup-algorithm=number --print-number --pre-number="$snapshot_root_nbr")
17 snapshot_usr_nbr=$(snapper -c usr.snapshot create --type=post --cleanup-algorithm=number --print-number --pre-number="$snapshot_usr_nbr")
18 echo -e "> New post snapshots created: /(${snapshot_root_nbr}) /usr(${snapshot_usr_nbr})"