FAQ
| This is a
LIVE
service |
Changelog
Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Yusuf Hamied Department of Chemistry
COs
backup-scheduler
Commits
48485319
Commit
48485319
authored
Oct 26, 2022
by
Dr Adam Thorn
Browse files
Add script to report the space that would be reclaimed by deleting older snapshots
parent
73ad8e1d
Changes
2
Hide whitespace changes
Inline
Side-by-side
ROOT/DEBIAN/control
View file @
48485319
...
...
@@ -3,6 +3,6 @@ Priority: optional
Section: otherosfs
Maintainer: Chemistry COs <support@ch.cam.ac.uk>
Architecture: all
Version: 0.9-ch9
5
Version: 0.9-ch9
6
Depends: zfs-dkms, postgresql-13 | postgresql-9.5 | postgresql-9.4 , liblockfile-simple-perl, libdbi-perl, libjson-perl, libzfs-perl-chem, libnet-openssh-perl, libdbd-pg-perl, mbuffer, rsync, nfs-kernel-server, pv, libwww-curl-perl
Description: a backup system using ZFS (repository 'backup-scheduler')
ROOT/usr/local/bin/analyse-snapshot-usage
0 → 100755
View file @
48485319
#!/bin/bash
# This script runs "zfs destroy" commands. We explicitly specify "-nv" options,
# and I can't currently think of a way it would go wrong, but there is no reason
# for this script to be run as root and I want to avoid accidents.
if
[
$EUID
-eq
0
]
;
then
echo
"You appear to be running this script as root. Please run it as unprivileged user instead."
exit
1
fi
if
[
$#
-ne
1
]
;
then
echo
usage:
$0
zfsname
echo
echo
Prints out a report of the space that would be reclaimed by successfully
echo
deleting snapshots of a ZFS, from the oldest through to the newest.
fi
ZFS
=
$1
if
!
zfs list
$ZFS
>
/dev/null 2>&1
;
then
echo
could not list
$ZFS
exit
1
fi
OLDEST
=
$(
zfs list
-H
-t
snapshot
-oname
$ZFS
|
head
-n
1 |
cut
-d
'@'
-f
2
)
ALLSNAPS
=
$(
zfs list
-H
-t
snapshot
-oname
$ZFS
|
cut
-d
'@'
-f
2
)
# NB the following two commands give the same output:
# zfs destroy -nv $ZFS@1654118566
# zfs destroy -nv $ZFS@1654118566%1654118566 # i.e. specifying the same snapshot as the start and end of the range
# so we don't need to special-case how we handle ${OLDEST}
for
SNAP
in
$ALLSNAPS
;
do
RECLAIM
=
$(
zfs destroy
-nv
${
ZFS
}
@
${
OLDEST
}
%
${
SNAP
}
|
grep
"would reclaim"
|
awk
'{print $3}'
)
echo
"
$OLDEST
->
$SNAP
:
$RECLAIM
"
done
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment