usando o comando history com ssh e obtendo a saída com carimbos de data / hora corretos [duplicados]

0

Basicamente eu quero obter um registro de todos os comandos executados no meu servidor ssh, com seus timestamps corretos. Os códigos que tentei são:

ssh -i private_key user@ip 'export HISTFILE=~/.bash_history;export HISTTIMEFORMAT='%D-%T' ;set -o history; history' > myfile.txt

Quando faço o primeiro login e uso o comando history, recebo todos os detalhes, incluindo a data e a hora. Quando eu uso este código, no entanto, em vez de obter o tempo em que o comando foi executado, eu recebo o tempo presente (ou seja, se eu executar este código às 3 horas todos os comandos terão seus timestamps como 3 o relógio)

    
por user1356163 21.05.2012 / 13:00

1 resposta

0

Como eu disse em minha resposta ao seu pergunta mais ou menos idêntica :

If you have not set the HISTTIMEFORMAT environment variable when using a session, the command times will not be saved and you will then of course not be able to see them. By default the current time will be printed as the command time for every command lacking a time indicator.

If you look at the ~/.bash_history file you can see if you have had time stamps activated for the sessions. Every other line will then start with a # followed by the epoch time of the next command.

Então: veja o arquivo ~/.bash_history remoto. Inclui timestamps em todas as segundas linhas? Caso contrário, você não salvou nenhuma informação de carimbo de hora para os comandos e não pode exibi-la.

Você precisa definir a variável de ambiente HISTTIMEFORMAT no local remoto para cada sessão em que deseja registrar os horários. Como uma sugestão em, e. ~/.bash_profile (consulte a seção "Invocação" em man bash para mais informações sobre quais arquivos são lidos durante a inicialização).

    
por 21.05.2012 / 13:22