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