42 lines
1.0 KiB
Bash
Executable File
42 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Find
|
|
drive=""
|
|
|
|
drive=$(cat /tmp/.mynode_drive)
|
|
while [ -z "$drive" ]; do
|
|
sleep 10
|
|
echo "Waiting on myNode Drive..."
|
|
drive=$(cat /tmp/.mynode_drive)
|
|
done
|
|
|
|
echo "Found Drive: $drive"
|
|
sleep 60s
|
|
|
|
lsblk $drive &> /dev/null
|
|
while [ $? -eq 0 ]; do
|
|
#echo "$drive still found..."
|
|
|
|
# Check drive usage
|
|
mb_available=$(df --block-size=M /mnt/hdd | grep /dev | awk '{print $4}' | cut -d'M' -f1)
|
|
if [ $mb_available -le 1000 ]; then
|
|
# Usage is 99.9%+, reboot to get into drive_full state with services stopped if first detected
|
|
echo "High Drive Usage: $mb_available MB available"
|
|
|
|
current_state=$(cat /tmp/.mynode_status)
|
|
if [ "$current_state" == "drive_full" ]; then
|
|
echo "Drive full already detected, not rebooting"
|
|
sleep 15m
|
|
else
|
|
echo "Just found drive full, rebooting..."
|
|
/usr/bin/mynode-reboot
|
|
fi
|
|
fi
|
|
|
|
# Wait, check again in one minute
|
|
sleep 60
|
|
lsblk $drive &> /dev/null
|
|
done
|
|
|
|
echo "Drive $drive NOT found! Rebooting."
|
|
reboot -f |