Files
2026-10-27 15:56:27 +01:00

26 lines
878 B
Bash
Executable File

#!/bin/sh
# /3rd_rw/appdata/root_loop.sh
# Root command loop. One instance per boot (boot_id lock).
# Write /3rd_rw/appdata/root_cmd.sh; read /3rd_rw/appdata/root_out.txt.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/basic/bin
export PATH
BID=""
[ -r /proc/sys/kernel/random/boot_id ] && BID=$(cat /proc/sys/kernel/random/boot_id 2>/dev/null)
[ -z "$BID" ] && BID=0
LOCK="/3rd_rw/appdata/root_loop.lock.$BID"
mkdir "$LOCK" 2>/dev/null || exit 0
echo "$$" > /3rd_rw/appdata/root_loop.pid
echo "loop started $$ $BID" > /3rd_rw/appdata/root_loop.log
while true; do
if [ -f /3rd_rw/appdata/root_cmd.sh ]; then
mv /3rd_rw/appdata/root_cmd.sh /3rd_rw/appdata/root_cmd.run
/bin/sh /3rd_rw/appdata/root_cmd.run > /3rd_rw/appdata/root_out.txt 2>&1
echo "rc=$?" >> /3rd_rw/appdata/root_out.txt
mv /3rd_rw/appdata/root_cmd.run /3rd_rw/appdata/root_cmd.done
fi
sleep 1
done