为什么这个“ping 失败时重新启动”脚本可能不起作用?

为什么这个“ping 失败时重新启动”脚本可能不起作用?

我有一个未解决的问题我的 vps 断网了。没有回复,网站托管商也不知道,所以我想这个 bash 脚本应该管用

#!/bin/sh
ping -c5 8.8.8.8
if [ $? -eq 0 ]; then
    echo "ok"
else
    reboot
fi

通过 cron 每分钟运行一次

* * * * * /bin/sh /root/pingtest.sh

但是当机器断开网络时它不会重新启动 - 在这里我们可以看到系统日志显示它失去连接(在本例中是与 nfs 的连接),并且 pingtest 随后不久运行,但不会重新启动机器。

May 18 08:58:01 tns CRON[9543]: (root) CMD (/bin/sh /root/pingtest.sh)
May 18 08:58:23 tns kernel: [316511.688142] nfs: server 188.166.172.XX not responding, timed out
May 18 08:59:00 tns kernel: [316548.720075] nfs: server 188.166.172.XX not responding, timed out
May 18 08:59:01 tns CRON[9549]: (root) CMD (/bin/sh /root/pingtest.sh)

我做错了什么?谢谢。

相关内容