Histórico de bash para hosts remotos

1

Eu quero ter os benefícios da pesquisa do comando bash history, mas trabalhando em vários hosts para o qual eu ssh. No entanto, não tenho um diretório inicial na maioria dos controles remotos devido à política de segurança, portanto, não há ~/.bash_history . export HISTFILE=/tmp/blah não funciona para a sessão atual. Mesmo se eu tivesse um arquivo lá, ele deveria ser sincronizado através de vários controles remotos através de algum arquivo local.

Uma solução provavelmente deve ser assim:

Através de .ssh/config ou alias ou de alguma forma, execute algo em torno de cada comando ssh, por exemplo

scp .remote-history user@remote:/tmp/history
ssh user@remote
scp user@remote:/tmp/history .remote-history.add
cat .remote-history.add >> .remote-history

a menos que exista uma ferramenta existente que faça algo semelhante.

    
por ilj 07.08.2016 / 03:47

1 resposta

0

Este script (remote_run) deve fazer o que você quiser. poderia ser muito mais bonito, mas ...

link

Execute como:

remote_run remote_hostname

Quando você sair, ele será sobrescrito (portanto, não tenha dois remote_runs simultâneos para o mesmo host ou o último win para cujo histórico foi salvo) seu arquivo local ~ / .bash_history-remote_hostname

#!/bin/bash
# version 0.0.1

LOCALHISTFILE=/tmp/$USER.history.$$;
read -d '' RUN << EOF
export HISTFILE=$LOCALHISTFILE;
export HISTTIMEFORMAT='%F %T - '
bash -i;
awk '{print \"HIST \"\
#!/bin/bash
# version 0.0.1

LOCALHISTFILE=/tmp/$USER.history.$$;
read -d '' RUN << EOF
export HISTFILE=$LOCALHISTFILE;
export HISTTIMEFORMAT='%F %T - '
bash -i;
awk '{print \"HIST \"\%pre%}' \$HISTFILE;
EOF
ssh $1 "cat > $LOCALHISTFILE" < ~/.bash_history-$1
ssh -t $1 "$RUN" | tee /tmp/$USER-remote-history
grep '^HIST ' /tmp/$USER-remote-history | sed -e 's/^HIST //' -e 's/^M//' > ~/.bash_history-$1
}' \$HISTFILE; EOF ssh $1 "cat > $LOCALHISTFILE" < ~/.bash_history-$1 ssh -t $1 "$RUN" | tee /tmp/$USER-remote-history grep '^HIST ' /tmp/$USER-remote-history | sed -e 's/^HIST //' -e 's/^M//' > ~/.bash_history-$1
    
por 09.08.2016 / 01:38