Saída incorreta do comando history do ssh. Como ler corretamente as informações de timestamp

4

Eu configurei a variável HISTTIMEFORMAT para armazenar o arquivo info .bash_history do timestamp. Eu sou capaz de exibir o histórico corretamente se eu usar o shell interativo.

Mas, quando eu executo o comando history para exibir o histórico, a informação do registro de data e hora de .bash_history file is é exibida como informações de comando e registro de data e hora de todos os comandos definidos para a hora atual.

Exemplo de conteúdo do arquivo: bash_history :

#45556656
pwd
#45677756
ls
#45665765
who

Comando:

$ ssh Host 'HISTFILE=~/bash_history;HISTTIMEFORMAT=" %F %T ";set -o history; history'

Saída:

235 2015-08-24 13:12 #45556656
236 2015-08-24 13:12 pwd
237 2015-08-24 13:12 #45677756
238 2015-08-24 13:12 ls

Problemas : 1. O registro de data e hora é o mesmo para todos os comandos. Ele define o timestamp atual.

Informações de tempo do arquivo de histórico são lidas como comando. Então, perdeu a informação do carimbo de hora real dos comandos. Como obter as informações corretas quando tento obter as informações por meio de ssh ou cronjob .

Nota : tenho visto perguntas semelhantes, mas nenhuma deu solução ao meu problema e nenhuma delas, que fez a pergunta, elaborou o cenário.

    
por Rajasekhar 24.08.2015 / 15:31

1 resposta

2

Você também precisa habilitar histexpand , que permite que os carimbos de data e hora sejam interpretados corretamente, pois eles são prefixados com o caractere de comentário de histórico:

$ ssh HOST 'HISTFILE=/tmp/bash_history;HISTTIMEFORMAT=" %F %T ";set -o histexpand -o history; history'
1   1971-06-12 01:37:36 pwd
2   1971-06-13 11:15:56 ls
3   1971-06-13 07:56:05 who

Veja a descrição de HISTTIMEFORMAT e set -H na página bash(1) para mais detalhes.


Note que o pedido parece ser importante. Veja o que acontece com history antes de histexpand :

$ ssh pocampo 'HISTFILE=/tmp/bash_history; HISTTIMEFORMAT=" %F %T ";set -o history -o histexpand; history'
1  ??#45556656
2  ??pwd
3  ??#45677756
4  ??ls
5  ??#45665765
6  ??who
    
por 26.08.2015 / 05:40