【发布时间】:2014-03-17 23:33:03
【问题描述】:
我想每 60 秒运行一次命令,并将输出保存到日志文件。 我知道我可以通过
打印到控制台watch -n 60 <mycommand>
但是如果我想将其保存到文件并打印到控制台怎么办?
【问题讨论】:
我想每 60 秒运行一次命令,并将输出保存到日志文件。 我知道我可以通过
打印到控制台watch -n 60 <mycommand>
但是如果我想将其保存到文件并打印到控制台怎么办?
【问题讨论】:
试试看:
while true
do
watch -n 60 <command> 2>&1 | tee -a logfile
done
我使用tee,以便您可以在终端上看到输出并在日志中捕获它。
【讨论】:
Watch 设计为在控制台窗口中运行。由于大量不可打印的格式字符,将其输出打印到文件很不方便。
如果确切的 60 秒不是问题,您可以不带手表试试这个:
while <some condition>
do
<mycommand> 2>&1 | tee -a /path/to/logfile
sleep 60
done
这会将输出保存到日志文件并在控制台上显示。
【讨论】:
[24;80H[1;74H20[24;80H[1;75H1[24;80H[1;75H2[24;80H