[Python3スクリプト] Atermなどブロードバンドルータの定期自動再起動 ※プログラムアップデート(2023/11/10)


Atermが相変わらず、パケ詰まりを起こすので、その度毎に再起動とか、場合によっては、「管理画面」にすらログインできなくなるので、Python3スクリプトを用意して、自鯖からcronにより毎日定時に「Aterm」が自動再起動するようにしました。

僕の環境は、「Aterm WG2600HP3」になりますが、「Aterm」系であれば、「管理画面」がほぼ同じと思うので、たぶんそのままPython3スクリプトを流用できると思います。

[chromedriverがpipからインストールできなかった場合2]
下記chromedriverサイトからダウンロードできないような最新バージョンにアップデートしていた場合、chromedriver2サイトからダウンロードしてみてください。
手順は下記と同じですが、unzipした際にchromedriber-linux64/などのフォルダができたりするので、cpする場合などはcdで移動してから実行すると良いと思います。
※僕の環境では2023/11/10現在でchromeバージョンが119に上がっていたので対処しました。

[chromedriverがpipからインストールできなかった場合1]
”error: subprocess-exited-with-error”のようなエラー
1. chromedriverから該当バージョンをローカルにダウンロード
2. unzip chromedriver_linux64.zip
3. 下記の各フォルダにcp
・/usr/local/bin/
・/usr/local/lib/pythonX.X/dist-packages/chromedriver_binary/
・/home/xxx/.local/lib/pythonX.X/site-packages/chromedriver_binary/
※赤字は各環境で異なります。適宜修正してください。
※僕の環境は3環境cpしていますが環境によって環境数は増減するので用途に応じて対応してください。
※2023/05/06から本日までスクリプトエラーとなっていましたがchromedriverを揃えたことでスクリプト修正なく定期自動再起動を再開しています。

[Ver1.4]
※2023/11/10 google-chromeとchromedriverが頻繁にアップデートされるためsubprocessをimportし、ログに出力されるよう追記

[Ver1.3]
※chromebrowserがアップデートし、chromedriverもアップデートしました。
よって、スクリプト内にchromedriver binaryのパスを通すimport文を追記
※合わせてpycodestyle及びflake8で規則、構文などチェックし修正
※僕の環境では数ヵ月アップデート対応していなかったのでAtermの再起動されていませんでしたが本日より定時自動再起動しています(2023/03/15より) 。

[Ver1.1]
※2022/11/17 関数名を変更し不要な記述を削除

[構成環境イメージ]
PC Win11 ----> Aterm <--- Ubuntu Server(常時稼働サーバなので、ここにPyhton3スクリプト設置)
※PC Win11(Mac)でも設置構わないと思いますが、定期自動実行のジョブスケジュールを考慮した方が良いと思います。僕の場合、cronでジョブスケジューリングしています。Win11だとタスクスケジュラー、MacだとiCal、Automatorでしょうかね!?(最近はMac使わなくなったので間違えていましたら悪しからず)

[動作条件]
1. Linux系 ※僕の環境はUbuntu Server 20.04
2. Google-Chrome
3. Chromeドライブ


①Aterm「管理画面」ログイン



②Aterm「再起動」ボタン


※ログを取得していますが、「success」と「error」のみとなり、所要時間はPython3スクリプトの開始から終了までです。よって、実際の再起動後、ネットワークが再確立されるまでには凡そ3~5分ほどかかります。
※ネットワーク再確立の確認も含めるとPython3スクリプトの記述がやや面倒だったので省いています(笑)ネットワーク再確立に関わらず、ご自身の環境でPython3スクリプトを改変して頂いても結構です。同じようにお困りの方へのボランティアです(^^♪



 
 

コメント

このブログの人気の投稿

Root化 for Galaxy S5 (SC-04F) ※自己責任

【NTTモデムの経年劣化による交換】VH-100「3」E「N」からVH-100「4」E「N」へ

【Android 7.1.2(LineageOS14.1)】Root化 for Galaxy S5 (SC-04F) ※自己責任