如何将所有这些服务发送到日志文件中:
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
我没有找到这样的问题 谢谢!
答案 0 :(得分:4)
tee
接受-a
标志附加到文件。因此,您应该能够通过执行以下命令将所有三个命令的输出重定向到单个文件:
stop service 1 | tee log1.log
stop service 2 | tee -a log1.log
stop service 3 | tee -a log1.log
(第一个命令将截断任何现有文件)
答案 1 :(得分:4)
另一种不使用tee
的方法是简单地使用bash命令组,将stdout
单个重定向到日志文件:
{ stop service 1; stop service 2; stop service 3 } > log1.log
使用>>
运算符附加到日志文件,或使用&>>
运算符追加stdout
和stderr
。也可以使用bash子shell:
( stop service 1; stop service 2; stop service 3 ) > log1.log
答案 2 :(得分:1)
{
stop service 1
stop service 2
stop service 3
} 2>&1 | tee log1.log
这通过单个重定向操作处理所有三个命令的输出。它还包括日志文件中的错误。