Gravar uma sessão bash

1

Para fins de auditoria e documentação, gostaria de encontrar um comando para que tudo que acontece em uma determinada sessão do bash seja gravado em um arquivo.

Ou seja, eu gostaria de ter um arquivo que mostre todo o comando que executei e todas as saídas desses comandos.

Eu sei que posso fazer parte disso usando o arquivo de histórico (comandos executados) e parte disso redirecionando a saída.

No entanto, sinto que o bash deveria ter esse recurso por si só, e eu simplesmente não o encontrei.

Exemplo:

> bash --some-kind-of-magic output.txt
$ cat file1.txt
this is the content of file1.txt
$ grep test file2.txt
this is the output of the command
$ exit
> cat output.txt
$ cat file1.txt
this is the content of file1.txt
$ grep test file2.txt
this is the output of the command
$ exit
    
por marc 09.03.2016 / 15:59

1 resposta

4

Você pode usar script para registrar todas as saídas de um comando ou até mesmo para iniciar um comando. Um comando que você pode iniciar é um novo problema de um shell. Por exemplo. script my_log /usr/local/bin/bash

Se isso não for uma vez, mencione isso em sua postagem. (Nesse caso, você provavelmente deseja configurá-lo nos scripts de login para esse usuário, possivelmente no script exec e no log do somwhere onde o log não pode ser manipulado).

    
por 09.03.2016 / 16:06