ハンズオン(簡易版): EC2基礎(AMI)

インスタンス作業.1.1. ファイルの更新 (/etc/update-motd.d/30-banner)

手順の目的 [why]

ファイル"/etc/update-motd.d/30-banner"を更新します。

設定値の指定

設定値の指定

手順に必要な設定値を変数に格納をします。

1. ファイル名

ディレクトリ名を指定します。

変数の設定:

DIR_TARGET="/etc/update-motd.d"

ファイル名を指定します。

変数の設定:

FILE_TARGET="${DIR_TARGET}/30-banner" \
  && echo ${FILE_TARGET}

結果(例):

/etc/update-motd.d/30-banner

設定値の確認

各変数に正しい設定値が格納されていることを確認しながら保存します。

変数の確認:

cat << END

  # 1. FILE_TARGET:"/etc/update-motd.d/30-banner"
       FILE_TARGET="${FILE_TARGET}"

END

下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

ファイルのタイムスタンプを取得します。

コマンド:

UNIXTIME_BEFORE=$( \
  date -r ${FILE_TARGET} +%s \
) \
  && echo ${UNIXTIME_BEFORE}

結果(例):

16xxxxxxxx

データファイルを更新します。

変数の確認:

cat << END

  # FILE_TARGET:"/etc/update-motd.d/30-banner"
    FILE_TARGET="${FILE_TARGET}"

END

コマンド:

sudo sh -c "cat << EOF1 > ${FILE_TARGET}
cat << EOF

    / __| |  | |
     (  | |__| |   AWS CLI v1
    \___|____|_|

https://aws.amazon.com/jp/cli/
EOF
EOF1"

cat ${FILE_TARGET}

結果(例):

cat << EOF

    / __| |  | |
     (  | |__| |   AWS CLI v1
    \___|____|_|

https://aws.amazon.com/jp/cli/
EOF

コマンド:

sudo update-motd

結果(例):

(出力なし)

完了確認

「データファイル名"/etc/update-motd.d/30-banner"のタイムスタンプが更新されている。」ことを確認します。

コマンド:

UNIXTIME_AFTER=$( \
  date -r ${FILE_TARGET} +%s \
) \
  && echo ${UNIXTIME_AFTER}

結果(例):

16yyyyyyyy

コマンド:

OFFSET_UNIXTIME=$( \
  expr ${UNIXTIME_AFTER} - ${UNIXTIME_BEFORE} \
) \
  && echo ${OFFSET_UNIXTIME}

結果(例):

23123456

手順の完了