#!/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}"