-2
我使用以下内容创建了一个shell脚本。如何使用inittab文件执行Linux shell脚本
#!/bin/bash
TMP_FILE=/tmp/inet_up
no_inet_action(){
reboot
}
HOUR="$(date +'%H')"
if [ $HOUR -le 22 -a $HOUR -ge 9 ]; then
if ping -c5 192.168.7.100; then
echo "Internet OK">$TMP_FILE
else
echo "No Internet">$TMP_FILE
no_inet_action
fi
fi
这将平在09:00的IP地址至22:00,如果没有互联网连接,它会写一行到文件中并重新启动设备。我在inittab中放入以下行,并期望它每隔5分钟运行一次。我在/tmp
文件夹中看不到该文件。该脚本是可执行的。执行它的正确方法是什么?我看到一些博客建议把它放在/etc/init.d
;这是正确的方式?
inittab
位于/etc/
文件夹中。
::respawn:/sbin/delayexec 600 /etc/check_inet.sh
这取决于你的发行版。你描述了一个经典的方法,但是现在很多发行版都避开了经典的'init'行为。那些依赖'systemd'的例子,完全忽略'/ etc/inittab'。 –
我检查我的系统是Linux 3.6.9+ armv5tejl。 – RotatingWheel
您应该使用'cron'('cron'是一个按计划执行脚本的实用程序)。 – larsks