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