mirror of
https://github.com/unifi-utilities/unifios-utilities.git
synced 2024-08-30 18:32:21 +00:00
df2a0f9144
thanks @kb9gxk
69 lines
1.7 KiB
Bash
69 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# Get DataDir location
|
|
DATA_DIR="/data"
|
|
case "$(ubnt-device-info firmware || true)" in
|
|
1*)
|
|
DATA_DIR="/mnt/data"
|
|
;;
|
|
2*)
|
|
DATA_DIR="/data"
|
|
;;
|
|
3*)
|
|
DATA_DIR="/data"
|
|
;;
|
|
*)
|
|
echo "ERROR: No persistent storage found." 1>&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Check if the directory exists
|
|
if [ ! -d "${DATA_DIR}/scripts" ]; then
|
|
# If it does not exist, create the directory
|
|
mkdir -p "${DATA_DIR}/scripts"
|
|
echo "Directory '${DATA_DIR}/scripts' created."
|
|
else
|
|
# If it already exists, print a message
|
|
echo "Directory '${DATA_DIR}/scripts' already exists. Moving on."
|
|
fi
|
|
|
|
EXECUTE01="${DATA_DIR}/scripts/on-state-change.sh"
|
|
FILE="${DATA_DIR}/udapi-config/ubios-udapi-server/ubios-udapi-server.state"
|
|
# /usr/bin/logger -t "${PROCESSNAME}" "$*"
|
|
|
|
# run on boot aswell
|
|
$EXECUTE01
|
|
|
|
if [ "$1" = "DAEMON" ]; then
|
|
# is this necessary? Add other signals at will (TTIN TTOU INT STOP TSTP)
|
|
trap '' INT
|
|
cd /tmp || exit
|
|
shift
|
|
### daemonized section ######
|
|
# RUNNING=`ps aux | grep $CMD | grep -v grep | wc -l`
|
|
# echo $RUNNING
|
|
# if [ "$RUNNING" -lt 1 ]; then
|
|
LAST=$(ls -l "$FILE")
|
|
# echo $LAST
|
|
while true; do
|
|
sleep 1
|
|
NEW=$(ls -l "$FILE")
|
|
# echo $NEW
|
|
if [ "$NEW" != "$LAST" ]; then
|
|
DATE=$(date)
|
|
echo "${DATE}: Executing ${EXECUTE01}"
|
|
$EXECUTE01
|
|
LAST="$NEW"
|
|
fi
|
|
done
|
|
# fi
|
|
#### end of daemonized section ####
|
|
exit 0
|
|
fi
|
|
|
|
export PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
|
|
umask 022
|
|
# You can add nice and ionice before nohup but they might not be installed
|
|
# nohup setsid $0 DAEMON $* 2>/var/log/mydaemon.err >/var/log/mydaemon.log &
|
|
nohup setsid $0 DAEMON WATCH $* 2>/var/log/watch.err >/var/log/watch.log &
|