2 回答
TA贡献1848条经验 获得超6个赞
我已经部署了一个接收后钩子脚本,我想将整个输出日志作为日期从一个块中获取。我尝试了一种方法,但是它需要逐行记录日志,这意味着我必须将该命令放在每一行上才能获取日志。有没有办法从日期开始一次获取整个脚本日志?
脚本文件如下所示:
#!/bin/bash
any_command | ts '[%F %T]' >> /home/Man/Man_log.log
second_command | ts '[%F %T]' >> /home/Man/Man_log.log
third_command | ts '[%F %T]' >> /home/Man/Man_log.log
看到我必须| ts '[%F %T]' >> /home/Man/Man_log.log对每条命令都添加此行以获取日志。而且我有90条线,所以这不是一个完美的方法。我需要一种有效的方法,就像脚本中只有一行将整个脚本的输出作为日志并将其存储到以日期开头的另一个Man_log.log文件一样。
我想要的与此类似。
#!/bin/bash
ts '[%F %T]' >> /home/Man/Man_log.log #a command which can store logs of every command below this to a separate file starting with date
any_command
second_command
third_command可能最简单的方法是修改脚本以每次都打印出日期:
#!/bin/sh
date -u +"%Y-%m-%dT%H:%M:%SZ"
# your commands below
...
如果您无法修改脚本,则可以对命令进行分组,例如:
(date && anycommand) >> out.log
在括号中对(命令列表)进行分组会使它们像单个单元一样被执行。“子壳”
- 2 回答
- 0 关注
- 287 浏览
添加回答
举报