是否可以记录整个脚本?

我已经部署了一个接收后钩子脚本,我想将整个输出日志作为日期从一个块中获取。我尝试了一种方法,但是它需要逐行记录日志,这意味着我必须将该命令放在每一行上才能获取日志。有没有办法从日期开始一次获取整个脚本日志?


脚本文件如下所示:


#!/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


富国沪深
浏览 288回答 2
2回答

慕勒3428872

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