ssh: Execução de comandos em servidores remotos

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.

Podemos assim 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.

Referência

SSH: Tips And Tricks You Need

Veja também

[ Retornar ao Índice ]