atermをコマンドラインからリブートする

 時々通信できなくなるatermをコマンドラインからリブートできるならcronに入れて自動再起動できるなと思っていた。今はクライアントPC起動時にスクリプトでチェックしている。

 検索してみたら、手頃な事例が。
www.minimalab.com

 なるほど。ではまず手打ちで最初のcurlコマンドを実行してみる。ありゃ、Session_IDなんか返してへんぞ。Basic認証には成功しているみたいやけど。バージョンが違うのか?
 もしかしたらもっと簡単なのかと思って、そこに書いてある2つめのコマンドを実行。

kazz@oscar ~# curl -u account:pass -v "http://aterm/index.cgi/reboot_main_set" --data "UPDATE_BUTTON=Reboot"

 実行直後は接続が切れていたし、ログを見てもそれ以前のものがクリアされているので、成功したっぽい。WR8300Nなんてゆう骨董品だからゆるいのかも。

 で、当初の目標に戻って、以下のスクリプトを10分に1回実行。5回連続してだめだったらリブート。

#!/usr/bin/php
<?php
$script_dir =dirname( __FILE__); 
require_once("${script_dir}/pass.php");
$countfile="${script_dir}/count.txt";
$logfile = "${script_dir}/check.log";
$con = `curl --head www.yahoo.co.jp|grep keep-alive`;
if(strlen($con) < 50){
	$count = rtrim(@file_get_contents($countfile));
	$count++;
	if($count >4){
		$ret = `curl -u $pass 'http://192.168.1.2/index.cgi/reboot_main_set' --data 'UPDATE_BUTTON=Reboot'`;
		file_put_contents($countfile, 0);
		$headers="From: nanchara@kazz.red\n";
		mb_send_mail("kanchara@kazz.red","Rebooted Aterm",$ret,$headers);
	}else{
		file_put_contents($countfile, $count);
	}
	file_put_contents($logfile, date("Y/m/d H:i")."\t$count\n", FILE_APPEND);
}else{
	file_put_contents($countfile, 0);
}
?>

 で、ソースにある「雀の往来」って何よ。
f:id:doroyamada:20200522201518p:plain

 検索したら「美乳」とおなじようなおまじないらしい。ちなみに文字コードはEUC-JPだった。