Registre qualquer comando semelhante a `time`

Registre qualquer comando semelhante a `time`

O time(1)comando permite cronometrar qualquer comando, passando-o como argumento para time.

Eu sei que é possível redirecionar stderrpara stdoutum arquivo via 2>&1, e também tee(1)permite copiar sua entrada para a tela e para um arquivo. No entanto, não sei como adicionar carimbos de data/hora aos logs.

Existe uma ferramenta para redirecionar stderrpara stdoutum arquivo e anexar carimbos de data e hora a ele para fins de registro?

Responder1

Você poderia usar ts(1)de moreutils.


tsdemaisutilsirá anexar um carimbo de data/hora a cada linha de entrada que você fornecer. Você também pode formatá-lo usando strftime.

$ echo 'foo bar baz' | ts
Mar 21 18:07:28 foo bar baz
$ echo 'blah blah blah' | ts '%F %T'
2012-03-21 18:07:30 blah blah blah
$ 

Para instalá-lo:

sudo apt-get install moreutils

Conteúdo copiado desta resposta:https://stackoverflow.com/a/9813614/221689

Responder2

Experimente annotate-outputno Debiandescritivospacote. Ele mostra carimbos de data/hora e escreve "O" antes da saída padrão e "E" antes do erro padrão. Exemplo:

# run `ls` on one file that exists, and one that doesn't...
annotate-output ls /bin/bash /tmp/boosh

Saída:

03:30:52 I: Started ls /bin/bash /tmp/boosh
03:30:52 O: /bin/bash
03:30:52 E: ls: cannot access '/tmp/boosh': No such file or directory
03:30:52 I: Finished with exitcode 2

informação relacionada