shell - 每天将 docker stats 附加到单个文件中
问题描述
我正在尝试每分钟将 docker 统计信息记录到 S3 存储桶中的 csv 文件中。以下命令在腻子上运行。
while true; do docker stats --no-stream | aws s3 cp - s3://username/dockerstats/`date -u +"%Y%m%dT%H%M%S.csv"`; sleep 60; done
如上所示,它每分钟创建一个新文件。我想将 docker stats 附加到同一个 csv 文件中。谁能让我知道将数据附加到同一个文件 csv 文件的命令是什么?这将是每天一个 csv 文件。
解决方案
您可以将命令pipe
的输出to ,它从stdin读取其输入并写入stdout,然后用于将新行写入文件。stats
cat
>>
docker stats --no-stream | cat >> ./`date -u +"%Y%m%d.csv"`
如果文件不存在,它将创建文件,因此它将与您的动态日期文件名一起使用。
如果您只使用一个>
,它不会附加到文件中,而是完全覆盖它。
推荐阅读
- node.js - Redis缓存 - 存储重复数据是一种不好的做法
- jpa - 持久性缓存和数据库之间的数据不同步。Tomcat + Eclipselink
- python - 选择数据框后给出数字
- c# - 在 ASP.Net Core 3.1 中等待 SqlClient 调用的最佳方式
- mysql - ERROR 2002 (HY000): Can't connect to local MySQL server through socket'/var/run/mysqld/mysqld.sock' (2) on Lubuntu 20.04 LTS
- python - TypeError:预期的 str 实例,找到 int
- reactjs - 打字稿推理问题
- unity3d - 人工智能的一个小问题。Unity 中的 Pong 克隆
- svg - 使用 itextsharp 在 PDF 中绘制 SVG 圆弧路径时出现问题
- bash - bash - 遍历文件内容并附加到字符串