OPENWRT Cron定時執行檢查LOG - Linux

Queena avatar
By Queena
at 2018-04-14T14:03

Table of Contents

感謝各位幫忙
完整版如下

System>Scheduled Tasks
每分鐘執行一次
*/1 * * * * sh /root/wifi_watchdog.sh

EX:
https://i.imgur.com/z5FI6sF.png

要把wifi_watchdog.sh放到/roor下面
#==================以下為wifi_watchdog.sh===================
#!/bin/sh
DATE=`date +%Y-%m-%d-%H:%M:%S`
#find the error message
dmesg|grep rt2x00queue_write_tx_frame>>/tmp/log.txt
#check the size if the log file
size=`du -a /tmp/log.txt|awk '{print $1}'`
if [ "$size" -gt "0" ]; then
echo $DATE Router reboot >>/root/wifi_watchdog.log
reboot
fi
#===========================================================

這樣就會每分鐘跑一次,只要抓到rt2x00queue_write_tx_frame錯誤
/tmp/log.txt 容量就會變大
然後,紀錄重啟時間點,重啟路由器


※ 引述《HiJimmy (嗨 吉米)》之銘言:
: 大家好~~
: 目前有一台MTK路由器
: 因為驅動的問題,無線都會不定時出錯
: 出錯就要重開才會正常
: 所以我想要用定時檢查
: 目前卡在條件判斷式的寫法
: cron 排程
: 1 0 0 0 0 /root/wifi_watchdog.sh
: 剛剛發現排程錯了 應該是
: */1 * * * * /root/wifi_watchdog.sh 一分鐘一次
: 批次檔
: #!/bin/sh
: #擷取網卡錯誤紀錄
: dmesg|grep rt2x00queue_write_tx_frame>>/tmp/log.txt
: #檢查檔案大小
: if [ du -a /tmp/log.txt>0]; then
: reboot
: fi
: 卡在檢查完大小,我不知道那個數字要比對大於零的寫法
: 目前這樣寫是過不了
: 有大於零代表出錯
: 我只要抓到有大於零就要重開機
: 這樣要如何撰寫

--
Tags: Linux

All Comments

Daph Bay avatar
By Daph Bay
at 2018-04-15T17:26
現在會自動重啟了@@,不過,連到的設備有問題之後,Y
Olive avatar
By Olive
at 2018-04-16T22:02
得等到每一分鐘的檢查,也就是最長的時間是59秒加上
開機時間,不過如果範圍內有另一台漫遊設備會自己連到
另外一台
Skylar Davis avatar
By Skylar Davis
at 2018-04-18T11:07
覺得59秒太長可在shell加上while/sleep將檢查時間縮短
Anonymous avatar
By Anonymous
at 2018-04-18T13:19
* * * * * 就可以了,*/1 * * * * 這個 /1 多餘的
Vanessa avatar
By Vanessa
at 2018-04-21T14:33
是說為什麼要生 log 檔呢?
if dmesg|grep rt2x00...; then reboot ;fi
Queena avatar
By Queena
at 2018-04-24T07:44
grep "xxxxxx" && reboot 應該就可以了
Adele avatar
By Adele
at 2018-04-24T14:11
昨天到現在重開四次了~~

OPENWRT Cron定時執行檢查LOG

Queena avatar
By Queena
at 2018-04-14T09:32
size=`du -a /tmp/log.txt|awk and#39;{print $1}and#39;` if [ size andgt; 0 ]; then : dmesg|grep rt2x00queue_write_tx_frameandgt;andgt;/tmp/log.txt : #檢查檔案大 ...

OPENWRT Cron定時執行檢查LOG

Ivy avatar
By Ivy
at 2018-04-14T08:59
大家好~~ 目前有一台MTK路由器 因為驅動的問題,無線都會不定時出錯 出錯就要重開才會正常 所以我想要用定時檢查 目前卡在條件判斷式的寫法 cron 排程 1 0 0 0 0 /root/wifi_watchdog.sh 剛剛發現排程錯了 應該是 */1 * * * * /root/wifi_watch ...

ubuntu 開指定版本matlab

Wallis avatar
By Wallis
at 2018-04-13T21:52
MATLAB Linux 版是直接安裝在指定目錄 如果你要系統中各帳號都能用,就裝在 /usr/local/ 或是 /opt/ 由於它預設目錄結構是 MATLAB/2018a/{bin, etc, ...} 所以我會建議放 /opt/ 比較好 如果你只是單帳號使用,我會建議放 ~/bin/ ...

讓 AMDGPU 當 amdgpu.dc=1 時輸出 RGB 格式的方法

Charlie avatar
By Charlie
at 2018-04-13T16:00
由於 AMD 目前貌似沒辦法使用 xrandr 切換成 RGB 輸出, 所以 AMD 預設一律是使用 YCbCr444 作為輸出格式, 今天終於在網路上找到了解決方法,所以用 PTT 當作備份, 防止以後忘記怎麼做。 1. 找到 edid 檔的路徑並複製到家目錄 sudo find /sys/dev ...

求救,ubuntu16裡 /dev/sda1空間不夠了

David avatar
By David
at 2018-04-12T15:13
大家先進好 我筆電是把ubuntu 16.24灌在第二顆2T硬碟上,因為當初規劃不好,/dev/sda1 空間不夠大了 ,根本無法做實驗(影片處理) 急需要增大空間,可是用gparted 看到sda1有key圖案鎖住,無法resize,我該怎麻辦? 自己不敢亂動,怕毀掉我的報告就完了,請大家教教我!該怎樣 ...