私のラップトップからUbuntuサーバーにデータをバックアップするスクリプトを書いています。これを行うには、バックアップを開始する前にサーバーが利用可能かどうかをテストするための(ba)shコマンドを探しています。ping
ポート22でブール値を返すのと同じです。
どうすればいいですか?
答え1
このように:
nc -z hostname 22 > /dev/null
echo $?
その場合は0
使用できます。もしそうなら、1
そうではありません。
答え2
使用インターネット猫:
nc -z localhost 22
マンページから
-z Specifies that nc should just scan for listening daemons,
without sending any data to them.
答え3
余分:
nc -vzw 1 hostname 22
答え4
ssh hostname exit 2>/dev/null ; echo $?
これは実際に接続を作成し、認証を実行します。そして時には間違ったポート22の仮定に依存しません。