backup.sh: sjekk at backup-kataloger har tilsvarende monterte datasett
This commit is contained in:
30
backup.sh
30
backup.sh
@@ -262,6 +262,36 @@ declare -ra tom_excludes=(
|
||||
)
|
||||
### Slutt på liste over vertsmaskiner og hva som skal tas backup av. ###
|
||||
|
||||
# Sjekk at alle backup-kataloger har tilhørende datasett, og at datasettene er montert
|
||||
for host in "${hosts[@]}"; do
|
||||
declare katalog="/backupz/${hosts_output_dir[$host]:-$host}"
|
||||
declare dataset="principal/backupz/${hosts_output_dir[$host]:-$host}"
|
||||
|
||||
# Sjekk at ZFS-datasettet finnes
|
||||
if ! zfs list "$dataset" >/dev/null 2>&1; then
|
||||
echo "Feil: ZFS-datasettet '$dataset' finnes ikke. Opprett det med: zfs create $dataset" >&2
|
||||
rm "$lockfile"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$katalog" ]; then
|
||||
echo "Feil: katalogen '$katalog' finnes ikke. Opprett den med: mkdir '$katalog'" >&2
|
||||
rm "$lockfile"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Sjekk at datasettet er montert, og forsøk å mounte om nødvendig
|
||||
declare mounted_val="$(zfs get -H -o value mounted "$dataset" 2>/dev/null || echo "no")"
|
||||
if [ "${mounted_val:-no}" != "yes" ]; then
|
||||
echo "Datasettet '$dataset' er ikke montert på '$katalog'. Forsøker å mounte..."
|
||||
if ! zfs mount "$dataset" >/dev/null 2>&1; then
|
||||
echo "Kunne ikke mounte '$dataset'. Avbryter." >&2
|
||||
rm "$lockfile"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
declare -ri start_time="$(date +%s)"
|
||||
|
||||
declare -r rsync="/usr/local/bin/rsync"
|
||||
|
||||
Reference in New Issue
Block a user