サーバー完成図書を自動で作りたいんだ 第2話 AWSのOS, IPアドレス周り

高瀬 裕介 97views 更新:2015年4月6日
#!/bin/sh
IFS=$'\n'
AWS=false

if [ `type aws 2> /dev/null | wc -l` -gt 0 ]; then
  AWS=true
fi

echo "|_. 項目|_. 値|"
if [ -f /etc/redhat-release ]; then
  echo "|OS|`cat /etc/redhat-release`|"
elif [ -f /etc/system-release ]; then
  echo "|OS|`cat /etc/system-release`|"
else
  echo "[WARN] OS名が取得できませんでした" >&2
  echo "|OS||"
fi

IP=""
if [ ${AWS} == true ]; then
  IP=`curl -s http://169.254.169.254/latest/meta-data/public-ipv4 2> /dev/null`
else
  IP=`ifconfig | egrep "inet addr:[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | grep -v "127.0.0.1" | head -n1 | sed -e "s/.*inet addr:\([^ \t]\+\).*/\1/g" 2> /dev/null`
fi

if [ ! "${IP}" ]; then
  echo "[WARN] サーバーIPアドレスが取得できませんでした" >&2
  echo "|サーバーIPアドレス||"
else
  echo "|サーバーIPアドレス|${IP}|"
fi

HOSTNAME=`hostname`
if [ ! "${HOSTNAME}" ]; then
  echo "[WARN] ホスト名が取得できませんでした" >&2
  echo "|ホスト名||"
else
  echo "|ホスト名|${HOSTNAME}|"
fi

DNS_SERVER=`cat /etc/resolv.conf | grep nameserver | sed -e"s/[ \t]\+/ /g" | head -n1 | cut -f2 -d' '`
if [ ! "${DNS_SERVER}" ]; then
  echo "[WARN] DNSサーバーが取得できませんでした" >&2
  echo "|DNSサーバー||"
else
  echo "|DNSサーバー|${DNS_SERVER}|"
fi

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません