linux - 如何在日志中的每一行之前记录时间戳?
问题描述
我想每 5 秒记录一次内存使用情况,因此我正在使用free -s 5 -m> memory.log
如何在此日志中的每个谎言之前添加时间戳?
预期输出:
Tue Jan 21 06:50:44 UTC 2020
total used free shared buffers cached
Mem: 7809 6268 1540 0 57 3497
-/+ buffers/cache: 2713 5095
Swap: 0 0 0
Tue Jan 21 06:50:49 UTC 2020
total used free shared buffers cached
Mem: 7809 6268 1540 0 57 3497
-/+ buffers/cache: 2713 5095
Swap: 0 0 0
解决方案
我发现没有单行命令可以做到这一点,这可以通过编写和执行脚本来实现。
所以shell脚本是:
#!/bin/bash -e
echo " date time $(free -m | grep total | sed -E 's/^ (.*)/\1/g')" >> /var/log/memory_utilisation.log
while true; do
echo "$(date '+%Y-%m-%d %H:%M:%S') $(free -m | grep Mem: | sed 's/Mem://g')" >> /var/log/memory_utilisation.log
sleep 5
done
推荐阅读
- javascript - P5.JS - preload() 问题
- windows-store - 代码:0x80073CFB 从 Microsoft Store 下载我自己的应用程序
- excel - 将 Excel 中的数据与三列之一匹配
- excel - 将值从一个 Excel 文件复制到另一个
- julia - 多个返回值的类型注释签名
- javascript - 将属性添加到数据表中的多个
- android - 位置 1024 的 JSON 中的意外令牌反应本机
- r - 在 ggplot2 中:1 个图中 3 个不同数据集的列的总和
- python - 创建比例数据框
- java - 在 VS Code 中启动现有的 Java 程序