我有一个个人Ubuntu主机,连接到公共/共享 Wi-Fi AP(不受我控制)。
有时,会出现网络问题,我很确定,仅重新启动网络服务是行不通的。唯一的办法就是重启它。
我的计划是添加一个 crontab,来测试网络连接。如果失败,请重新启动计算机。
如果我手动运行 auto_reboot.sh,当ping测试失败时,它会重新启动。但是从 crontab 运行,它不起作用:)
这是我的 crontab 条目
crontab -l
* * * * * /root/loadrc/transmissionrc/auto_reboot.sh
Run Code Online (Sandbox Code Playgroud)
#!/bin/zsh
/root/loadrc/networkrc/ping.sh
rc=$?
if [[ $rc -eq 0 ]]
then
echo "say The internet is back up."
else
reboot
fi
Run Code Online (Sandbox Code Playgroud)
#!/bin/zsh
((count = 10)) # Maximum number to try.
while [[ $count -ne 0 ]] ; do
ping -c 1 8.8.8.8 # Try once.
rc=$?
if [[ $rc -eq 0 …Run Code Online (Sandbox Code Playgroud)