Como verificar se um processo está sendo executado em outro servidor

0

Como faço para verificar se um determinado processo está sendo executado em outra caixa e retornar um valor? Por exemplo, se eu quisesse verificar o processo 'FTP' está rodando em 192.168.1.1 da caixa 192.168.1.2, como eu retornaria uma flag de sucesso? Gostaria de incorporar um script que verificaria se um determinado processo está sendo executado em um cluster de servidores.

Eu tentei criar algo sem muito sucesso:

for i in 'cat server_list.txt';
     do ssh $i
          "ps -ef | grep ftp = process;
          if [ $process -eq 1]
              then 
                  echo "ftp process is running"
          fi"

Eu gostaria de ter um retorno informando que o processo 'ftp' está em execução. Há uma lista de servidores IP no arquivo de texto da lista de servidores.

    
por keyboard_solo 18.10.2016 / 17:35

1 resposta

1

while read -r host; do
   if ssh -n "$host" "pgrep '^ftp$'"; then
      echo "A process named 'ftp' is running on ${host}."
   fi
done < /path/to/server_list
    
por 18.10.2016 / 18:03