curl のタイムアウト時間を設定

curl コマンドではタイムアウト時間を設定することができます。--connect-timeout オプションを使って接続のタイムアウト時間を設定し、--max-time オプションを使って全体のタイムアウト時間を設定できます。

例:

以下は、curl コマンドで接続タイムアウトと全体のタイムアウトを設定する例です。

#!/bin/bash

# 接続タイムアウトを5秒、全体のタイムアウトを10秒に設定
CONNECT_TIMEOUT=5
MAX_TIMEOUT=10

# EC2メタデータにアクセス
if ! curl -s --connect-timeout $CONNECT_TIMEOUT --max-time $MAX_TIMEOUT http://169.254.169.254/latest/meta-data/ > /dev/null; then
    echo "このサーバーはAWS EC2インスタンスではありません。"
    exit 1
fi

echo "このサーバーはAWS EC2インスタンスです。"

説明:

  • --connect-timeout $CONNECT_TIMEOUT:このオプションは、curl が接続を確立するまでの最大時間を設定します。この例では5秒です。
  • --max-time $MAX_TIMEOUT:このオプションは、curl がデータを受信し始めてからの最大実行時間を設定します。この例では10秒です。

これらのオプションを使うことで、タイムアウトが発生した場合にスクリプトがどのように動作するかを制御できます。必要に応じてタイムアウト時間を調整してください。

タイトルとURLをコピーしました