![为什么这个“ping 失败时重新启动”脚本可能不起作用?](https://linux22.com/image/990580/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AA%E2%80%9Cping%20%E5%A4%B1%E8%B4%A5%E6%97%B6%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%E2%80%9D%E8%84%9A%E6%9C%AC%E5%8F%AF%E8%83%BD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我有一个未解决的问题我的 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)
我做错了什么?谢谢。