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