目的
止む得ない場合に時間を設定するために近隣のwwwサーバやポートが開いている外部のwebサーバから取得し設定する。
※以前記載したものをperlを使用しない方法を検討した。
方法
システム標準ツールのみで動作する。
http,httpsの通信で取得する。
使用するツール
bash
wget
date
hwclock
※debianlinux10では標準に入っている。
code
#!/usr/bin/env bash
URL_S=http://www.google.com
DATE_S=`/usr/bin/wget -o - -S --spider ${URL_S} 2>/dev/null | grep 'Date:'| sed -e 's/^ *Date: //'`
DATE_E=' -s "'${DATE_S}'"'
echo date ${DATE_E}
date -s "${DATE_S}"
DATE_S=`date -d "${DATE_S}" +'%d %b %Y %H:%M:%S'`
HWCLOCK_E=' --set --date "'${DATE_S}'"';
echo hwclock ${HWCLOCK_E}
hwclock --set --date "${DATE_S}"
反省
以前の記事ではdateやhwclockなどのコマンドの理解が足りなかったので、
改めてマニュアルを確認して動作検証を行った。
検証した機械ではbusyboxのwgetが--spiderオプションがなかったため、使用できなかった。