我的虚拟机在 Linux 上有时会失去互联网连接,我需要不断保持连接。所以我写了以下脚本:
#!/bin/bash
wget -q --tries=10 --timeout=20 --spider http://google.com
if [[ $? -ne 0 ]]; then
service network-manager restart
fi
当我在控制台中运行此脚本时,它可以工作,但使用cron
我得到:
network-manager: unrecognized service
我可以做些什么来完成这项工作,或者我可以使用什么其他方法?
答案1
如果您正确输入了服务名称,我认为您的问题是由于缺少环境变量造成的。
来自service
命令手册:
服务在尽可能可预测的环境中运行 System V 初始化脚本。
最好使用服务文件的完整路径,例如:/etc/init.d/network-manager
因此,要重新启动您的服务,请使用:/etc/init.d/network-manager restart