通信切断自動再起動を実行しようとしましたが、オンラインでこのスクリプトを見つけました(これを行う人を祝福します)。スクリプトは
ping -c4 www.site.com > /dev/null
if [ $? != 0 ]
then
sudo /sbin/shutdown -r now
fi
したがって、このスクリプトは正しく機能します。私がしたいのは、同じことをする別のスクリプトを追加することです。しかし、pingを変更するだけです。コンテンツ
ping -c4 192.168.1.5 > /dev/null
if [ $? != 0 ]
then
sudo /sbin/shutdown -r now
fi
/usr/local/bin/
最初のスクリプトの通信不足ファイル名は次のようにこのスクリプトを保存し、/usr/local/bin/commsloss.sh
2番目のスクリプトのファイル名は次のとおりです。/usr/local/bin/serverloss.sh
この2行を追加しましたcrontab -e
*/5 * * * * /usr/bin/sudo -H /usr/local/bin/commsloss.sh >> /dev/null 2>&1
*/10 * * * * /usr/bin/sudo -H /usr/local/bin/serverloss.sh >> /dev/null 2>&1
その後、サーバーをシャットダウンして再起動することを確認しようとしましたが、うまくいきませんでした。
どんな提案がありますか?
これが可能か、それとも2つではなく1つのスクリプトしか持てないように、これが正しい構文であるかどうか疑問に思います。
ping -c4 www.site.com > /dev/null || ping -c4 192.168.1.5 > /dev/null
答え1
現在サーバースクリプトが機能していない理由はわかりませんが、これによりor
演算子を使用できます。
#!/bin/bash
ping -q -c4 www.site.com > /dev/null
siteup=$?
ping -q -c4 192.168.1.5 > /dev/null
ipup=$?
if [[ $siteup != "0" || $ipup != "0" ]]; then
sudo /sbin/shutdown -r now
else
:
fi