Primeiro, você precisa remover o requisito de usar uma senha para fazer login em seus servidores. Use logins baseados em chave pública. Depois disso, você precisará de algo como:
$ for host in "server1" "server2" ; do echo $host; ssh $host df --output="ipcent" /tmp | tail -n1 | tr -d " "; done | pr --columns=2 --length=2 | mail [email protected]
deve funcionar.
A linha faz um loop entre server1
e server2
e executa o comando:
echo $host; ssh $host df --output="ipcent" /tmp
em cada servidor, por sua vez. A saída disso é simplesmente o nome do servidor ( $host
) seguido do uso percentual da unidade contendo /tmp
, mas ele tem um cabeçalho, de modo que é removido pelo piping para:
tail -n1
que retorna a última linha (a porcentagem). Infelizmente, isso é cercado por espaço em branco, de modo que é removido pelo piping para:
tr -d " "
Neste ponto, ambos os servidores teriam sido ssh
'd, mas a saída seria algo como:
server1
75%
server2
50%
então é canalizado para:
pr --columns=2 --length=2
para poder girar para o formato que você solicitou:
server1 server2
75% 50%
Por fim, isso é canalizado para:
mail [email protected]
para enviar por e-mail para bloggs
.