如何将at命令的执行结果保存到TXT文件作为日志?
如何把at命令的执行反馈保存到TXT日志
你的原命令echo "command" | at now + 1 hour>file.txt只重定向了at命令的标准输出(stdout),但at输出的警告信息(比如你提供的示例内容)属于标准错误(stderr),默认不会被写入文件,所以导致部分内容没保存下来。
正确命令
要同时捕获标准输出和标准错误,把两者都写入文件,用这个命令:
echo "command" | at now + 1 hour > file.txt 2>&1
> file.txt:将at的标准输出写入目标文件2>&1:把标准错误(文件描述符2)重定向到标准输出(文件描述符1),这样警告和任务信息都会被保存
示例输出翻译
你给出的示例内容翻译为中文:
警告:命令将使用/bin/sh执行
任务141 定于2023年7月29日星期六23:44:00
补充:保存调度命令的执行结果
如果你要保存的不是at本身的反馈,而是它所调度的command执行后的输出,那得在被调度的命令里做重定向:
echo "command > /path/to/result.log 2>&1" | at now + 1 hour
这样command运行后的输出和错误都会被记录到result.log里。
内容的提问来源于stack exchange,提问作者Luana
相关产品推荐
相关产品推荐

