gpt4 book ai didi

linux - 如何使用 inittab 文件执行 Linux shell 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:48 25 4
gpt4 key购买 nike

我创建了一个包含以下内容的 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 到 22:00 期间 ping IP 地址,如果没有互联网连接,它将向文件写入一行并重新启动设备。我将以下行放入 inittab 中,并期望它将每 5 分钟间隔运行一次。我在 /tmp 文件夹中没有看到该文件。该脚本是可执行的。执行它的正确方法是什么?我看到一些博客建议将其放在 /etc/init.d 下;哪个是正确的方法?

inittab 位于 /etc/ 文件夹中。

    ::respawn:/sbin/delayexec 600 /etc/check_inet.sh

最佳答案

经过搜索并尝试了几个小时,找到了解决方案。如果我将以下内容放入 inittab 文件中,它对我来说效果很好。所以我不需要像评论中专家提到的那样使用 crontab (我不是 Linux 专家,没有时间研究细节,只需要完成我的任务)。希望这对inittab的其他部分内容有所帮助。

::respawn:/sbin/delayexec 300 /bin/sh /etc/check_inet.sh

这是删除 echo 命令后我使用的最终代码:

#!/bin/bash
no_inet_action(){
reboot
}
HOUR="$(date +'%H')"
if [ $HOUR -le 22 -a $HOUR -ge 9 ]; then
if ping -c5 192.168.7.100; then
else
no_inet_action
fi
fi

关于linux - 如何使用 inittab 文件执行 Linux shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43264628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com