Je vois et j'utilise un peu la commande nc
, mais chaque fois que je la vois, je découvre ce qu'elle fait, alors notez-la.
Une commande pour démarrer un processus client ou serveur simple.
Exécutez comme suit pour confirmer la communication en tant que client.
nc Hôte cible (adresse IP, etc.) Numéro de port
Il est également possible d'envoyer l'en-tête au port de destination pour traitement. ʻEcho -en "GET / HTTP / 1.1 \ n \ n" | nc Hôte cible (adresse IP, etc.) 80`
Vous pouvez vérifier si la destination de connexion est en cours d'exécution par la valeur de retour de nc. Je souhaite l'utiliser lorsque j'attends que le conteneur de destination de la connexion démarre dans Docker.
wait_for_port() {
local name="$1" host="$2" port="$3"
local j=0
while ! nc -z "$host" "$port" >/dev/null 2>&1 < /dev/null; do
j=$((j+1))
if [ $j -ge $TRY_LOOP ]; then
echo >&2 "$(date) - $host:$port still not reachable, giving up"
exit 1
fi
echo "$(date) - waiting for $name... $j/$TRY_LOOP"
sleep 5
done
}
À propos, il existe également des articles qui ssh en plusieurs étapes
-W host:port
Requests that standard input and output on the client be forwarded to host
on port over the secure channel. Implies -N, -T, ExitOnForwardFailure and
ClearAllForwardings, though these can be overridden in the configuration
file or using -o command line options.
Recommended Posts