我需要一个 Bash(或纯 shell)脚本来放入一个 cronjob,每分钟检查一次 Internet 是否已启动。
我是这样做的:
#! /bin/sh
host1=google.com
host2=wikipedia.org
curr_date=`date +"%Y%m%d%H%M"`
echo -n "${curr_date};"
((ping -w5 -c3 $host1 || ping -w5 -c3 $host2) > /dev/null 2>&1) &&
echo "up" || (echo "down" && exit 1)
你会怎么做?您会 ping 哪些主机?
说明:
“互联网已启动”,我的意思是我的互联网连接。
通过“ up
-w
”,我的意思是有可用的连接(如果我们谈论的是 DNS 关闭或连接真的很慢 [注意超时],这并不重要)。这也是为什么我没有包含任何 IP 而只包含主机的原因。
我还应该 ping Stack Overflow 吗?我的意思是,如果我无法访问 Google、Wikipedia 或 Stack Overflow,我就不想上网 :p