繁体   English   中英

我如何使用linux free命令在我的脚本中添加时间戳(免费| grep mem | awk'{print $ 4 / $ 2 * 100.0}')

[英]How can i add a timestamp to my script using the linux free command (free | grep mem | awk '{print $4/$2 * 100.0}')

我只想将时间戳添加到脚本输出文件,并且还继续将输出添加到同一文件。

这是我正在使用的脚本,想要在输出文件中添加时间戳,并希望能够一遍又一遍地向同一文件添加条目。 我还需要查看每个条目的时间戳。

free | grep mem | awk '{print $4/$2 * 100.0}' > free.txt

free | grep mem | awk '{print $4/$2 * 100.0}' > free.txt

该脚本的当前结果是,我可以保存单个查询的输出,但是它没有时间戳,而且我不知道如何在特定的时间内将其重复输出到同一文件。 理想情况下,我会让脚本每隔5分钟运行一周,然后启动一个新文件。 我不确定这是否可能。 最终结果将显示一整周的可用内存百分比列表,因此我可以看到内存使用率的趋势并监视内存的超额订购。

可以想象,您可以将循环与睡眠定时器一起使用,但是我建议为此使用cron作业。 将以下内容放入shell脚本中,并每5分钟通过cron运行一次。

( echo -ne "$( date -Iseconds)\t"; free | awk '/Mem/{print $4/$2 * 100.0}' ) >> free.tx
(date "+%c" | tr -d '\n'; free | awk '/^Mem:/ {print " ", ($4/$2 * 100.0}') > free.txt

管他呢。 我讨厌tr,但这是剥除新柳树的最胖方法。 在日期的联机帮助页中可以找到其他时间格式(当然不是Mac)。 在这种情况下,谷歌谷歌。

另外,您在这里不需要grep,并且无论如何都在执行区分大小写的搜索,这很糟糕,因为free的输出通常会创建/^Mem:.*$/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM