Files
ansible/roles/backup_server/files/backup-disks.sh

30 lines
782 B
Bash

#!/usr/bin/bash
#
#set -Eeuo pipefail
#
MQTT='mosquitto_pub -h mqtt.chaos -t switch_backup/switch'
BASEDIR="/backup"
#${MQTT}/debug -m "ARGS: \"$@\""
#check for an unmount event
if [[ "$@" == "CHECK-MOUNTS-AND-SHUTDOWN" ]]; then
OPEN_FILES=$(lsof ${BASEDIR}/* |grep -c ${BASEDIR})
[[ ${OPEN_FILES} -eq 0 ]] && umount ${BASEDIR}/*
MOUNTS=$(grep -e ${BASEDIR} /proc/self/mounts | grep -v autofs -c)
[[ ${MOUNTS} -gt 0 ]] && exit 0 #We still have mounts
#No mounts left, shutdown disk
vgchange -an backup >/dev/null
sync
sleep 5
${MQTT}/switch_backup_power/command -m OFF
exit 0
fi
#default case, echo mount string for autofs
${MQTT}/switch_backup_power/command -m ON
sleep 15
vgchange -ay backup >/dev/null
echo "-fstype=btrfs,defaults,compress=lzo :/dev/backup/${1}"