Existe uma maneira de remover remotamente 2 arquivos?
Eu tenho dois servidores (aeb) atrás de um balanceador de carga e gostaria de fazer algo assim, se possível:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Obrigado!
Existe uma maneira de remover remotamente 2 arquivos?
Eu tenho dois servidores (aeb) atrás de um balanceador de carga e gostaria de fazer algo assim, se possível:
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
Obrigado!
Respostas:
Isso funcionou para mim:
ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &
Ctrl+C
.
fg
; então você pode ctrl+c
. Você faria isso uma vez para cada cauda que está executando. Ou você pode pkill -f ssh
segmentar todos eles ao mesmo tempo.
Minha opção preferida é usar multitail. Eu executaria algo como:
multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'
Operation not permitted
, com 2 3 nós de web, é ok
Operation not permitted
, alguma pista?
Eu estava pensando que também seria possível usar:
ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &
A opção -f após ssh permite inserir uma senha antes de ser executada em segundo plano. Em seguida, você poderá obter os resultados linha por linha em um único arquivo e executando:
tail -f /tmp/somefile
Daria um pouco mais de controle sobre o comando "tail" atual, caso você desejasse usar outras opções de tail para exibir a saída.
Confira esta resposta no stackoverflow - ele usa dsh e tail -f.
Dê uma olhada na multitail . Assim como nos exemplos acima, você pode atribuí-lo como um comando para ssh e, em seguida, você terminará com uma tela exibindo (e armazenando em buffer para facilitar a rolagem) vários logs. Também faz coloração, o que é muito útil para detectar anomalias.
O ssh paralelo tem uma boa solução para isso:
pssh -t0 -H 'host-01 host-02 host-03 host-04' -P tail -f /var/log/app.log
-t0
desativa o tempo limite da conexão, caso contrário, o pssh fechou a conexão-H '<host>...'
é a lista de hosts para executar o comando-P
é permitir a impressão do stdout de cada hosttail -f /var/log/app.log
pode ser qualquer comando que seu shell remoto possa executarO que você diria sobre algo assim? http://gist.github.com/303175
Apenas uma solução estranha, mas funciona!
Tela 1
ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6
Tela 2
ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6
who am i
e ele será exibido para você).
Você pode fazer o check-out dbitail.
Uma ferramenta Java que criei, capaz de ler arquivos de log locais e distantes usando SSH. É bastante simples de usar.
Mais algumas explicações: https://github.com/pschweitz/DBITail/wiki
Basta baixar a versão correspondente ao seu sistema operacional, da versão nativa do jar executável no Java Runtime (requer java 8_40 ou superior):
https://github.com/pschweitz/DBITail/releases
Você pode encontrar uma documentação completa (incorporada à página do I Github também)
Philippe
ou você pode usar a tela para criar dois terminais e depois dividi-los.
SSH no primeiro host do qual você deseja ajustar o arquivo de log e, antes de executar o tail, entre na tela.
Em seguida, finalize o arquivo neste host.
CTRL + A, c criará uma nova tela ou janela. A partir desta nova janela, ssh no segundo host e finalize o arquivo lá.
Agora, para criar a tela dividida
CTRL + A, SHIFT + S, isso criará uma tela dividida com o shell atual na parte superior e a parte inferior vazia. Para alternar para a parte inferior e colocar a primeira tela nela,
CTRL + A, TAB, isso o levará para a parte inferior. Agora, traga sua primeira sessão SSH para essa área:
CTRL + A "" (símbolo de aspas) e selecione a primeira sessão e pressione Enter.
Sei que isso pode parecer um monte de ginástica, e é, mas você se acostuma depois de usá-lo algumas vezes.
Aqui está um tutorial realmente bom ou uma referência rápida aos comandos da tela: http://www.pixelbeat.org/lkdb/screen.html
Além disso, você pode criar um arquivo .screenrc para que muito do que eu descrevi possa ser automatizado na primeira vez que você entra na tela.
Outra coisa boa sobre isso é que você pode simplesmente fechar sua sessão e retomar em outro lugar. Por exemplo, você está no trabalho e tem algum monitoramento em andamento. Você pode simplesmente fechar sua sessão sem sair da sessão e continuar quando chegar em casa ou em outro local.
Você pode ajustar os arquivos remotamente usando o bash e o rsync, estou usando e é um ótimo script do bash. Dê uma olhada no seguinte tutorial