将日志写入文件的脚本

将日志写入文件的脚本

例如,我试图编写脚本来 ping 某个地址,Google.com当连接丢失时,将日志写入文件。我不知道该怎么做。例子:

ping goodle.com 

如果已连接,只需 ping

如果未连接,则将日志写入文件

答案1

最简单的形式,你可以这样做:

ping -c2 google.com 2>&1 >/dev/null || echo "$(date) host not available" >> /tmp/mylogfile

ping如果可以 ping 通则返回成功(退出代码 0),否则返回非零代码,因此只有在第二种情况下才会执行 echo。 (-c2意味着只需 ping 两次,通常ping会尝试再试,直到您停止为止。)

答案2

if ! ping -c2 google.com >/dev/null 2>&1; then
    printf '%s\tgoogle.com not reachable\n' "$(date)" >>logfile
fi

这使得ping尝试 ping Google 两次。如果失败(ping返回非零退出状态),则会在日志文件中添加一条消息。

相关内容