1

如何将所有这些服务放入日志文件:

stop service 1
stop service 2
stop service 3

我希望所有这些服务日志都保存到一个文件中

我应该使用:

stop service 1 | tee log1.log
stop service 2 | tee log1.log
stop service 3 | tee log1.log

或者:

stop service 1 
stop service 2 
stop service 3 | tee log1.log

我还没有找到这样的问题谢谢!

4

3 回答 3

5

tee接受-a附加到文件的标志。因此,您应该能够通过执行以下命令将所有三个命令的输出重定向到单个文件:

stop service 1 | tee log1.log
stop service 2 | tee -a log1.log
stop service 3 | tee -a log1.log

(第一个命令将截断任何现有文件)

于 2012-08-29T16:16:09.653 回答
4

另一种不使用的方法tee是简单地使用带有单个重定向stdout到日志文件的 bash 命令组:

{ stop service 1; stop service 2; stop service 3 } > log1.log

使用>>运算符附加到日志文件,或使用&>>运算符附加stdoutstderr。也可以使用 bash 子shell:

( stop service 1; stop service 2; stop service 3 ) > log1.log
于 2012-08-29T16:20:15.640 回答
1
{
stop service 1
stop service 2
stop service 3
} 2>&1 | tee log1.log

这将使用单个重定向操作处理所有三个命令的输出。它还包括日志文件中的错误。

于 2012-08-29T16:25:01.180 回答