Registra qualquer comando similar a 'time' [duplicado]

1

O comando time(1) permite que você calcule qualquer comando, passando-o como argumentos para time .

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

Existe uma ferramenta para redirecionar stderr e stdout para um arquivo E anexar registros de data e hora a ele para fins de registro?

    
por Edward 17.12.2016 / 08:36

2 respostas

4

Você pode usar ts(1) de moreutils.

ts de moreutils exibirá um registro de data e hora para cada linha de entrada que você fornecer. Você pode formatá-lo usando strftime também.

$ 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: link

    
por 17.12.2016 / 09:37
3

Teste annotate-output do pacote devscripts do Debian. Ele mostra os timestamps 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
    
por 17.12.2016 / 09:34

Tags