如何将“监视”的输出保存到文件[关闭]

问题描述 投票:20回答:2

我想每60秒运行一次命令,并将输出保存到日志文件中。我知道我可以打印到控制台了

watch -n 60 <mycommand>

但是如果我想将它保存到文件以及打印到控制台呢?

linux bash ubuntu
2个回答
23
投票

Watch旨在在控制台窗口中运行。由于存在大量不可打印的格式化字符,因此将其输出打印到文件是不方便的。

如果准确的60秒不是问题,你可以不用手表试试这个:

 while <some condition>
 do
     <mycommand> 2>&1 | tee -a /path/to/logfile
     sleep 60
 done

这会将输出保存到日志文件中,并在控制台上显示。


5
投票

试试吧:

while true
do
    watch -n 60 <command> 2>&1 | tee -a logfile
done

我使用tee,以便您可以在终端上看到输出并在日志中捕获它。

© www.soinside.com 2019 - 2024. All rights reserved.