linux - 将多个标准输出重定向到单个文件

标签 linux command-line stdout nfs

我有一个程序在带有 NFS 的多台机器上运行,我想将它们的所有输出记录到一个文件中。我可以在每台机器上运行 ./my_program >> filename 还是我应该注意的并发问题?由于我只是追加,所以我认为不会有问题,但我只是想确定一下。

最佳答案

这可能行得通,但是是的,您会遇到并发问题,并且日志文件基本上无法辨认。

我建议的是每台机器都有一个日志文件,然后定期(比如每晚)将文件与机器名连接在一起作为文件名:

for i in "/path/to/logfiles/*"; do
    echo "Machine: $i";
    cat $i;
done > filename.log

我想这应该会给你一些想法。

关于linux - 将多个标准输出重定向到单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710515/

相关文章:

video - 使用带有正确布局代码的 -ffmpeg- 将 25 个输入显示到 5x5 网格中

python - 在 Python 中,测试函数的标准输出

powershell - 在 powershell 中对 `docker ps` 的输出进行排序,同时将表头保持在顶部

c - 如何在 C 中关闭标准输出的缓冲

C 程序链接错误 : what is causing these?

c - GCC + 内联汇编 - notl 上的意外段错误

java - 从 Python 运行 Java 程序

linux - CentOS:删除包含 txt 文件中字符串的行

linux - linux读取xml文件的方法

windows - 在每个子文件夹中运行命令