你好。 使用我的服务器记录似乎在白天偶尔发生的网络 DC。环顾四周并收集代码并让它工作,我通过 cronjob 启动以每天获取一个文本文件。
该程序:
#!/bin/bash
## Get current date ##
_now=$(date +"%d_%m_%Y")
## Appending a current date from a $_now to a filename stored in $_file ##
_file="/path/to/file/pinglogger_$_now.txt"
## fping 24h with timestamp to a file with todays date ##
fping -c 86000 -s google.com 192.168.250.1 | while read pong; do echo "$(date): $pong"; done > "$_file" 2>&1
问题:
这行得通,但是当程序结束时,我没有得到最后几行 ping 统计信息。当我发现并添加| while read pong; do echo "$(date): $pong"; done
到程序中以在 ping 上添加时间戳时,问题就开始了。
灵魂: 在提示和 trix 之后,最终代码是这样的,它将 stout 和 sterr 写入输出文件: ping 本地主机和谷歌大约 1 天到今天日期的文件。:
#!/bin/bash
## Get current date ##
_now=$(date +"%d_%m_%Y")
## Appending a current date from a $_now to a filename stored in $_file ##
_file="/path to file/pinglogger_$_now.txt"
## fping 24h with timestamp to a file with todays date ##
(fping -c 86000 -s google.com 192.168.250.1 | ts) &> "$_file"
使用 TS 将其缩短并将代码放入 () 管道 bot sterr 和 stout 到文件中工作。
(fping -c 86000 -s google.com 192.168.250.1 | ts) &> "$_file"