У меня есть простой сценарий, настроенный на моем окне OpenWrt, чтобы проверить, потоковый ли один из компьютеров в локальной сети, и если он делает, сценарий запускает wget | Madplay, чтобы играть в потоке. Скрипт отлично работает, если я запускаю его (как root), но не работает, если я помещаю в crontab.
Корневая запись в crontab
@reboot /root/check.sh > /root/check.log 2>&1
Скрипт - check.sh
#!/bin/sh
while :; do
checkProcess=$(/usr/bin/pgrep /usr/bin/madplay)
if [ "$checkProcess" = "" ]; then
/usr/bin/ncat -w 0.1 192.168.0.10 50000
output=$?
if [ $output == "0" ]; then
/usr/bin/wget -O - http://192.168.0.10:50000/stream/ | /usr/bin/madplay -
fi
fi
sleep 2
done
И ошибка - из check.log
Unable to register IOD #2: Operation not permitted
Кроме того, если у вас есть какие-либо советы по улучшению сценария в целом, я с удовольствием приму его.
Заранее спасибо!