最近のYAMAHAのルータはluaスクリプトが標準装備され、簡易プログラミングができます。
ここでは死活監視のスクリプトを作成・転送してみます。(参考にさせていただきました)
リンク
死活監視スクリプト(/ping_restart.lua)
ping 8.8.8.8実行。規定のロス率以上で再起動実施。
rtn, str = rt.command(“ping -c 10 8.8.8.8”)
if (rtn) and (str) then
loss = string.match(str, “(%d+)%.%d+%%”)
if (loss ~= nil) then
loss = tonumber(loss)
if (loss >= 30) then
rt.command(“restart”)
end
end
end
作成したスクリプトをtftpでルータに転送する。test.lua
YAMAHAルータでの設定
# tftp host any
linux端末から転送
$ tftp 192.168.0.1
tftp>
tftp> put ping_restart.lua /ping_restart.lua
Sent 966 bytes in 0.3 second
stftp> quit
show file list /
2015/05/29 10:15:47 966 ping_restart.lua
# 追記 atftpを利用すると、一行で実行できます。
atftp 192.168.0.1 -p -r /ping_restart.lua -l ./ping_restart.lua
毎時0分に実行する
schedule at 1 */* *:00 * lua /ping_restart.lua
スクリプトの実行状況を確認する
$ show status lua
Lua Library Version: Lua 5.1.5
Lua Script Function Version: 1.06
[running]
There is no running script.
[history]
(1)
Running Trigger: executed by scheduled 'lua' command
Command Line: lua /ping_restart.lua
Script File: /ping_restart.lua
Running Counts: 61
Error Counts: 0
First Starting Date: 2023/09/13 09:40:00
Last Starting Date: 2023/09/13 19:40:00
Last Ending Date: 2023/09/13 19:40:10
Last Result: success
参考:
# 現在の実行状況を表示
show status lua
ROUTER> show status lua
Lua Library Version: Lua 5.1.5
Lua Script Function Version: 1.06
[running]
Lua Task ID (State): 1 (WATCH)
Running Trigger: executed by scheduled 'lua' command
Command Line: lua /sample.lua
Script File: /sample.lua
Watch Pattern: "Connected"
Starting Date: 2023/10/19 20:00:39
Elapsed Time: 1 day 12 hours 31 minutes 20 seconds
# スクリプトの停止 terminate lua (Lua Task ID)
terminate lua 1
参考にさせていただきました。有用な情報をありがとうございます。
#YAMAHA
#RTX830
#SIM