2020/08/19

如何在 Debian GNU/Linux 10 系統用服務顯示 Wifi 狀態與查詢傳輸量

Notify Wifi Status And Query Statistics Using Service On Debian 10


【摘要】
敘述在 Debian 10 系統用 systemd 的 Service 顯示 Wifi 狀態,
以及記錄與計算收發量的方法。


【目錄】


    【前言
    【抽取 syslog 的內容
    【監視記錄檔
    【連結的 .service 檔
    【處理 Wifi 狀態的指令
    【記錄 Wifi 傳輸量
    【查詢 Wifi 傳輸量
    【查詢 Wifi 傳輸量的累積圖
    【後語

【前言】

一、現在的智慧型手機大多有顯示或控制上網使用量的程式,因為不是每一個用戶都是申請上網吃到飽的付費方案。試用了手機本身的和幾個另外安裝的應用程式,發現較簡單的程式只顯示每個月的量,較詳細的可以顯示年、月、週、日的量。但似乎沒有一個可以查詢自訂時段的量,譬如某日上午八時到下午五點的傳輸量。所以就想出了本文的方法,特將結果記錄於此。


二、本例的手機沒有 rooted,無法存取手機的系統資料,所以沒有辦法在手機端動手腳。但因本例目前大多用電腦發送 Wifi 讓手機上網,所以就變通地在電腦端想辦法。雖然電腦 Wifi 的收發量都比手機的上網量要大一些,但因差距不大,做個參考,還是可以的。當手機使用 SIM 卡上網時,心裡才有個底,會用掉多少 $$。


三、本文的內容大致分為:

  1. 抽出 syslog 有關 Wifi 狀態的記錄
  2. 用 systemd 的服務(service)監視上述的記錄檔,當狀態改變時,顯示通知
  3. 在 Wifi 的啟用期間,定時記錄傳輸量;Wifi 中斷,即顯示通知並停止記錄
  4. 查詢某時段的 Wifi 收發量