Assim:
nc -z hostname 22 > /dev/null
echo $?
Se for 0
, estará disponível. Se for 1
, então não é.
Estou escrevendo um script que fará backup de dados do meu laptop para um servidor Ubuntu.
Para isso, estou procurando um comando (ba) sh para testar se o servidor está disponível antes de iniciar o backup. algo como ping
na porta 22 que retorna um booleano.
Como posso fazer isso?
Use o netcat :
nc -z localhost 22
Na página de manual
-z Specifies that nc should just scan for listening daemons,
without sending any data to them.
E sobre
MACHINE=192.168.0.8
exec 3>/dev/tcp/${MACHINE}/22
if [ $? -eq 0 ]
then
echo "SSH up"
else
echo "SSH down"
fi
Alternativo:
nc -vzw 1 hostname 22
Tags backup ssh networking ping scripting