如何将“watch”的输出保存到文件中

时间:2014-02-18 09:53:13

标签: linux bash ubuntu

我想每60秒运行一次命令,并将输出保存到日志文件中。 我知道我可以通过

打印到控制台
watch -n 60 <mycommand>

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

2 个答案:

答案 0 :(得分:23)

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

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

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

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

答案 1 :(得分:5)

试一试:

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

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