トップ «前の日記(2020年05月10日) 最新 次の日記(2020年06月04日)» 編集

Masa's blog

検索キーワード:

2020年05月23日 Shell script to reboot BUFFALO AirStation NFINITI WHR-G301N [長年日記]

_ reboot_whrg301n.sh - 無線AP(WHRG301N)をリブートするシェルスクリプト

#! /bin/sh
trap "rm /tmp/reboot_whrg301n.$$.*.tmp; exit 1" INT TERM

whrg301n_ip=_IP_ADDRESS_
user=root
password=_PASSWORD_

random=`printf "%10.10d" ${RANDOM}${RANDOM}`
wget --http-user=${user} \
	--http-password=${password} \
	-O /tmp/reboot_whrg301n.$$.1.tmp \
	"http://${whrg301n_ip}/cgi-bin/cgi?req=frm&frm=init.html&rand=${random}" 2>/dev/null

reboot_url=`cat /tmp/reboot_whrg301n.$$.1.tmp |\
		tr '<>' '\n\n' |\
		egrep 'method="POST"' |\
		head -1 |\
		sed -e 's/^.*action="//;s/".*$//'`
reboot_url="http://${whrg301n_ip}${reboot_url}"

reboot=`cat /tmp/reboot_whrg301n.$$.1.tmp |\
	tr '<>' '\n\n' |\
	LC_ALL=C egrep reboot |\
	sed -e 's/^.*value="//;s/".*$//' |\
	od -tx1 |\
	egrep '^0000000 ' |\
	tr -s ' ' |\
	cut -d ' ' -f 2-7 |\
	sed -e 's/^/%/;s/ /%/g'`

sWebSessionnum=`cat /tmp/reboot_whrg301n.$$.1.tmp |\
	tr '<>' '\n\n' |\
	egrep 'sWebSessionnum' |\
	head -1 |\
	sed -e 's/^.*value=//;s/>.*$//'`

sWebSessionid=`cat /tmp/reboot_whrg301n.$$.1.tmp |\
	tr '<>' '\n\n' |\
	egrep 'sWebSessionid' |\
	head -1 |\
	sed -e 's/^.*value=//;s/>.*$//'`

wget --http-user=${user} \
	--http-password=${password} \
	--post-data="sWebSessionnum=${sWebSessionnum}&sWebSessionid=${sWebSessionid}&reboot=${reboot}" \
	-O /dev/null \
	"${reboot_url}" 2>/dev/null

rm -f /tmp/reboot_whrg301n.$$.*.tmp