Systemd mounts for auto02
This commit is contained in:
29
roles/backup_server/files/backup-disks.sh
Normal file
29
roles/backup_server/files/backup-disks.sh
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/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}"
|
||||||
Reference in New Issue
Block a user