大哥再帮帮我吧,急死我了!
#!/bin/shwhiletrue;doping-w5-c1192.168.1.1>/dev/null2>&1if[$?-eq0];thenshutdown-cping...
#!/bin/sh
while true; do
ping -w 5 -c 1 192.168.1.1 >/dev/null 2>&1
if [ $? -eq 0 ]; then
shutdown -c
ping -w 5 -c 1 192.168.1.2 >/dev/null 2>&1
if [ $? -eq 0 ]; then
shutdown -c
ping -w 5 -c 1 192.168.1.3 >/dev/null 2&1
if [ $? -eq 0 ]; then
shutdown -c
sleep 180
fi
fi
else
shutdown -h +5
continue
fi
sleep 3
done
麻烦帮我检验一下这个脚本是否有错误。暂时发现其中任意一个IP不通,系统就关机了!
另外,我要用这个脚本达到的效果是,当三个IP都PING不通的情况下系统在延迟5分钟后关机;在延迟5分钟关机时间内如果又有IP通了,那就取消关机命令,继续循环检测下去。并做到每检测一遍没有问题的情况下脚本休眠3分钟后再检测!
小弟新手一个,没有悬赏金了,实在不好意思,还请高手们不灵赐教,小弟感激涕零啊! 展开
while true; do
ping -w 5 -c 1 192.168.1.1 >/dev/null 2>&1
if [ $? -eq 0 ]; then
shutdown -c
ping -w 5 -c 1 192.168.1.2 >/dev/null 2>&1
if [ $? -eq 0 ]; then
shutdown -c
ping -w 5 -c 1 192.168.1.3 >/dev/null 2&1
if [ $? -eq 0 ]; then
shutdown -c
sleep 180
fi
fi
else
shutdown -h +5
continue
fi
sleep 3
done
麻烦帮我检验一下这个脚本是否有错误。暂时发现其中任意一个IP不通,系统就关机了!
另外,我要用这个脚本达到的效果是,当三个IP都PING不通的情况下系统在延迟5分钟后关机;在延迟5分钟关机时间内如果又有IP通了,那就取消关机命令,继续循环检测下去。并做到每检测一遍没有问题的情况下脚本休眠3分钟后再检测!
小弟新手一个,没有悬赏金了,实在不好意思,还请高手们不灵赐教,小弟感激涕零啊! 展开
1个回答
展开全部
上两天出差了,今天刚看到。我研究了一晚上基本可以解决你的问题,但有点复杂。这里要建立两个脚本,第一个脚本我命名为Ping.sh,代码如下:
#!/bin/sh
while [ true ]
do
ping -w 5 192.168.1.1 >/home/null #ping第一个ip地址
if [ $? -eq 0 ]
then
shutdown -c
ping -w 5 192.168.1.2 >/home/null #ping第二个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
ping -w 5 192.168.1.3 >/home/null #ping第三个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
else
./shutdown.sh & #这里调用了第二个脚本,记得增加第二个脚本的执行权限
ping -w 5 192.168.1.2 >/home/null #ping第二个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
ping -w 5 192.168.1.3 >/home/null #ping第三个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
continue
fi
sleep 3
done
第二个脚本我命名为shutdown.sh(要跟第一个脚本中的调用一致),里面就写个关机命令就行了,如下:
#!/bin/sh
shutdown -h +5
关机命令要在后台执行,才能实现你的要求,所以需要两个脚本。两个脚本都增加执行权限,使用root用户执行第一个脚本就可以了。祝你成功,有问题随时百度hi我。
#!/bin/sh
while [ true ]
do
ping -w 5 192.168.1.1 >/home/null #ping第一个ip地址
if [ $? -eq 0 ]
then
shutdown -c
ping -w 5 192.168.1.2 >/home/null #ping第二个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
ping -w 5 192.168.1.3 >/home/null #ping第三个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
else
./shutdown.sh & #这里调用了第二个脚本,记得增加第二个脚本的执行权限
ping -w 5 192.168.1.2 >/home/null #ping第二个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
ping -w 5 192.168.1.3 >/home/null #ping第三个ip地址
if [ $? -eq 0 ]
then
shutdown -c
fi
continue
fi
sleep 3
done
第二个脚本我命名为shutdown.sh(要跟第一个脚本中的调用一致),里面就写个关机命令就行了,如下:
#!/bin/sh
shutdown -h +5
关机命令要在后台执行,才能实现你的要求,所以需要两个脚本。两个脚本都增加执行权限,使用root用户执行第一个脚本就可以了。祝你成功,有问题随时百度hi我。
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询