Bruk riktig ZFS-prefix, og bruk zfs-kommando istedenfor df.

This commit is contained in:
rot
2017-02-16 13:20:26 +00:00
parent 88b6866984
commit 01bf70eef5

View File

@@ -16,7 +16,7 @@
#
echo "PVV; hjemmelaget backupscript (2017.03.16 \$Revision: 1.40 $)"
echo "PVV; hjemmelaget backupscript (2017.03.16 \$Revision: 1.1 $)"
echo
echo $(date)
@@ -41,7 +41,7 @@ if [ -e $lockfile ]; then
echo "Forrige backup ble avbrutt, rydder opp..."
rm $lockfile
zfs snapshot -r backupz@avbrutt_${snapshot} && \
zfs snapshot -r alphys-zdata/backupz@avbrutt_${snapshot} && \
echo "ZFS-snapshot OK." || echo "ZFS-snapshot FEILET!"
# TODO: zfs rollback til forrige komplette backup.
@@ -54,7 +54,7 @@ trap "rm $lockfile; echo 'Avbrutt, sletter låsfil...'; exit -2" SIGINT
echo $$ > $lockfile
echo "Sjekker at det er nok ledig plass på disken..."
/bin/df -h /backupz/
zfs get available alphys-zdata/backupz
#while [ $(/bin/df /backupz/ | /usr/bin/awk '/^backupz/{print $4}' ) -lt 100000000 ] ; do
while [ $( zfs get -Hp available alphys-zdata/backupz | cut -f3 ) -lt 4000000000 ] ; do
echo; echo "Disken er nesten full, rydder"; echo
@@ -65,10 +65,10 @@ while [ $( zfs get -Hp available alphys-zdata/backupz | cut -f3 ) -lt 400000000
fi
oldest=$(zfs list -t snapshot | grep backupz@ | head -n1 | tr @ ' ' | awk '{print $2}')
echo "Kjører zfs destroy på alle disker @$oldest"
for d in $(zfs list | grep ^backupz | awk '{print $1}'); do
for d in $(zfs list | grep ^alphys-zdata/backupz | awk '{print $1}'); do
zfs destroy "$d@$oldest"
done
/bin/df -h /backupz/
zfs get available alphys-zdata/backupz
echo
done
@@ -168,10 +168,10 @@ touch /backupz/homepvv/export/home
# Ta et zfs snapshot
echo "Tar ZFS-snapshot..."
zfs snapshot -r backupz@${snapshot} && \
zfs snapshot -r alphys-zdata/backupz@${snapshot} && \
echo "ZFS-snapshot ferdig." || echo "ZFS-snapshot FEILET!"
echo
echo Ledig plass: $(zfs list -H -o avail backupz)
echo Ledig plass: $(zfs list -H -o avail alphys-zdata/backupz)
echo
# TODO: Slett enkelte gamle snapshots?