有没有办法将每个命令的输出存储在带有时间戳的日志文件中? 我尝试过这个脚本,但它没有做任何事情。
mkdir /home/my_name/demo |& tee /home/my_name/My_log.log
答案 0 :(得分:2)
mkdir
没有输出,因此您不会看到任何输出。此外,您需要使用ts
来获取时间戳。
echo hello | ts '[%Y-%m-%d %H:%M:%S]' | tee ~/my_name/My_log.log
ts
可能未安装在您的系统上,但可以在包moreutils
中找到。
如果您要记录多个命令,可以将它们放在脚本中,然后通过上面的管道输出脚本的输出:
myscript | ts '[%Y-%m-%d %H:%M:%S]' | tee ~/my_name/My_log.log
答案 1 :(得分:1)
使用>>运算符将输出写入file.You也可以使用tee命令。唯一的区别是>>不会将输出写入STDOUT。
让您的脚本或命令执行如下所示:
customScript | ts -r '[%Y-%m-%d %H:%M:%S]' | tee -a /home/my_name/My_log.log
或
customScript | ts -r '[%Y-%m-%d %H:%M:%S]' >> /home/my_name/My_log.log