我正在尝试进行通讯丢失自动重启,并且刚刚在网上找到了这个脚本(祝福做这件事的人)。脚本是
ping -c4 www.site.com > /dev/null
if [ $? != 0 ]
then
sudo /sbin/shutdown -r now
fi
所以这个脚本工作得很好。我想做的是添加另一个具有相同功能的脚本,但我不想对站点执行 ping 操作,而是想添加另一个脚本,以便它可以对服务器执行 ping 操作,所以我所做的是相同的脚本,但只是更改它的 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
,然后第二个脚本的文件名是/usr/local/bin/serverloss.sh
我已经添加了这两行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
然后我尝试关闭服务器以查看它是否会重新启动,但它不起作用。
有什么建议么?
我想知道这是否可行,或者这是否是正确的语法,以便我可以只有一个脚本而不是两个?
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