Ssh: Execução de comandos em servidores remotos

De Wiki do Ouro Minas Palace Hotel
Revisão de 10h19min de 26 de janeiro de 2019 por 2532252>Jefferson
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 10 de julho de 2014

O uso mais frequente do comando ssh é o estabelecimento de conexões em servidores remotos. Entretanto, em determinadas ocasiões, precisamos apenas obter uma informação do servidor remoto, como por exemplo, a taxa de uso das partições, carga do sistemas, etc. Não é preciso fazer o login no servidor remoto, emitir o comando e em seguida sair. Basta invocar o comando ssh, seguido do endereço do servidor, e no final coloque o comando que deseja executar no servidor remoto.

Por exemplo, para obter a taxa de uso das partições de um sistema:

 # ssh www.acme.com df
 Filesystem 1K-blocks      Used Available Use% Mounted on
 rootfs     198161652 155341196  32754076  83% /
 udev           10240         0     10240   0% /dev
 tmpfs         406284       180    406104   1% /run
 tmpfs           5120         0      5120   0% /run/lock
 tmpfs        2489460         0   2489460   0% /run/shm

Desta forma, podemos obter as informações de múltiplos servidores e, por exemplo, emitir alertas para os administradores quando a taxa de uso de determinada partição exceder a 90%.

Se quisermos usar o pipe no servidor remoto, precisamos delimitar todo o comando por aspas.

Por exemplo, o comando:

 ssh www.acme.com 'ps aux | grep firefox'

Ao fazer desta forma, o comando "ps aux | grep firefox" é inteiramente executado no servidor remoto.

Desta forma, podemos fazer o monitoramento do estado do servidor (carga de cpu, taxa de uso de partições, processos em execução, etc) bem como iniciar a execução de scripts quando determinadas condições se verificarem.