使用时间戳记录到以日期命名的文件中

使用时间戳记录到以日期命名的文件中

你好。 使用我的服务器记录几天内偶尔发生的网络 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 上添加时间戳时,问题就开始了。

灵魂: 经过提示和技巧后,最终代码如下,它将 stout 和 sterr 写入输出文件:对本地主机和 Google 执行约 1 天的 ping 操作,并将结果发送到包含今天日期的文件:

#!/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"

答案1

使用 TS 将其缩短并将代码放入 () 管道机器人 sterr 和 stout 中以归档工作。

(fping -c 86000 -s google.com 192.168.250.1 | ts) &> "$_file"

相关内容