39 lines
819 B
Bash
39 lines
819 B
Bash
#!/bin/sh
|
|
|
|
DAEMON="/usr/sbin/ubihealthd"
|
|
CMD="$1"
|
|
INTERVAL="${2:-3600}" # Optional (default to 1 hour if not specified)
|
|
|
|
[ -z "$CMD" ] && usage
|
|
|
|
usage() {
|
|
echo "Usage: $0 {start|stop|restart} [interval_sec]"
|
|
exit 1
|
|
}
|
|
|
|
case "$CMD" in
|
|
start)
|
|
for dev in $(ls /sys/class/ubi/ | grep -E '^ubi[0-9]+$'); do
|
|
PIDFILE="/run/ubihealthd-${dev}.pid"
|
|
echo -n "Starting UBI health monitor on ${dev} (interval ${INTERVAL} s): "
|
|
start-stop-daemon -S -b -x "${DAEMON}" -m -p "${PIDFILE}" -- -d /dev/"${dev}" -i "${INTERVAL}" -f
|
|
echo "done."
|
|
done
|
|
;;
|
|
stop)
|
|
for dev in $(ls /sys/class/ubi/ | grep -E '^ubi[0-9]+$'); do
|
|
PIDFILE="/run/ubihealthd-${dev}.pid"
|
|
start-stop-daemon -K -x "${DAEMON}" -p "${PIDFILE}"
|
|
rm -f "$PIDFILE"
|
|
done
|
|
;;
|
|
restart)
|
|
$0 stop
|
|
sleep 1
|
|
$0 start
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|