add show snapnbr with -s

This commit is contained in:
Michel Le Cocq 2025-02-26 08:03:57 +01:00
parent 246995c24a
commit 620b3faddf

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Time-stamp: <2025-02-25 06:36:02 nomad> # Time-stamp: <2025-02-26 08:02:52 nomad>
# Michel Le Cocq <lecocq@ipgp.fr> # Michel Le Cocq <lecocq@ipgp.fr>
# <nomad@neuronfarm.net> # <nomad@neuronfarm.net>
@ -70,6 +70,20 @@
# #
# +------------------------------------------------------------------------------------------------+ # +------------------------------------------------------------------------------------------------+
function showsnap
{
zfs list -o name,used,usedbysnapshots -r zroot/ROOT -s creation | grep -v '^zroot/ROOT .*' > /tmp/upsnap.tmp
for line in $(cat /tmp/upsnap.tmp | grep zroot | cut -d' ' -f1)
do
nbr=$(zfs list -H -t snapshot -r $line | wc -l)
z=$(echo $line | cut -d'/' -f3)
sed -i "/$z/ s/$/ $nbr/" /tmp/upsnap.tmp
done
sed -i "/USEDSNAP/ s/$/ NBRSNAP/" /tmp/upsnap.tmp
cat /tmp/upsnap.tmp
rm /tmp/upsnap.*
}
function cleansnap function cleansnap
{ {
printf '\nClean snapshot.\n' printf '\nClean snapshot.\n'
@ -347,9 +361,10 @@ function usage()
{ {
echo "Usage: $(basename $0) [-h]" echo "Usage: $(basename $0) [-h]"
echo "-b : only check zfs boot menu" echo "-b : only check zfs boot menu"
echo "-s : only show zfs snap"
} }
while getopts 'hb' OPTION; do while getopts 'hbs' OPTION; do
case "$OPTION" in case "$OPTION" in
h) h)
usage usage
@ -360,6 +375,11 @@ while getopts 'hb' OPTION; do
echo echo
exit 1 exit 1
;; ;;
s)
showsnap
echo
exit 1
;;
?) ?)
usage usage
exit 1 exit 1