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
563ae0b1
Commit
563ae0b1
authored
Oct 31, 2022
by
Dr Adam Thorn
Browse files
analyse-snaphot-usage: add optional second argument for specifying the initial snapshot
parent
48485319
Changes
2
Hide whitespace changes
Inline
Side-by-side
ROOT/DEBIAN/control
View file @
563ae0b1
...
...
@@ -3,6 +3,6 @@ Priority: optional
Section: otherosfs
Maintainer: Chemistry COs <support@ch.cam.ac.uk>
Architecture: all
Version: 0.9-ch9
6
Version: 0.9-ch9
7
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
View file @
563ae0b1
...
...
@@ -8,11 +8,13 @@ if [ $EUID -eq 0 ]; then
exit
1
fi
if
[
$#
-ne
1
]
;
then
echo
usage:
$0
zfsname
if
[
$#
-ne
1
]
&&
[
$#
-ne
2
]
;
then
echo
usage:
$0
zfsname
[
base snapshot name]
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.
echo
deleting snapshots of a ZFS. By default the report starts with the oldest
echo
snapshot, or you can specify the initial snapshot name as the second argument.
exit
1
fi
ZFS
=
$1
...
...
@@ -22,7 +24,11 @@ if ! zfs list $ZFS >/dev/null 2>&1 ; then
exit
1
fi
OLDEST
=
$(
zfs list
-H
-t
snapshot
-oname
$ZFS
|
head
-n
1 |
cut
-d
'@'
-f
2
)
if
[
$#
-eq
2
]
;
then
OLDEST
=
$2
else
OLDEST
=
$(
zfs list
-H
-t
snapshot
-oname
$ZFS
|
head
-n
1 |
cut
-d
'@'
-f
2
)
fi
ALLSNAPS
=
$(
zfs list
-H
-t
snapshot
-oname
$ZFS
|
cut
-d
'@'
-f
2
)
...
...
@@ -31,6 +37,7 @@ ALLSNAPS=$(zfs list -H -t snapshot -oname $ZFS | cut -d '@' -f 2)
# 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
if
[
$SNAP
-lt
$OLDEST
]
;
then continue
;
fi
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