我想每60秒运行一次命令,并将输出保存到日志文件中。 我知道我可以打印到控制台
watch -n 60 <mycommand>
但是如果我想将它保存到文件以及打印到控制台呢?
手表被设计为在控制台窗口中运行。 打印输出到文件是不方便的,因为大量的不可打印格式字符。
如果确切的60秒不是问题,你可以不用手表就试试这个:
while <some condition> do <mycommand> 2>&1 | tee -a /path/to/logfile sleep 60 done
这将输出保存到日志文件并在控制台上显示。
尝试一下:
while true do watch -n 60 <command> 2>&1 | tee -a logfile done
我使用tee
以便您可以在终端上看到输出并将其捕获到日志中。