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
[ツッコミを入れる]