Re: [問題] OPENWRT Cron定時執行檢查LOG
感謝各位幫忙
完整版如下
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
: 卡在檢查完大小,我不知道那個數字要比對大於零的寫法
: 目前這樣寫是過不了
: 有大於零代表出錯
: 我只要抓到有大於零就要重開機
: 這樣要如何撰寫
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.16.71
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1523685803.A.92E.html
→
04/14 14:27,
7年前
, 1F
04/14 14:27, 1F
→
04/14 14:28,
7年前
, 2F
04/14 14:28, 2F
→
04/14 14:28,
7年前
, 3F
04/14 14:28, 3F
→
04/14 14:28,
7年前
, 4F
04/14 14:28, 4F
推
04/14 15:49,
7年前
, 5F
04/14 15:49, 5F
推
04/14 21:00,
7年前
, 6F
04/14 21:00, 6F
→
04/15 00:14,
7年前
, 7F
04/15 00:14, 7F
→
04/15 00:14,
7年前
, 8F
04/15 00:14, 8F
我的想法是因為算檔案大小比較方便
如果有辦法用grep抓到然後檢查到有 重開這樣也行
但是我還是卡在判斷式,不太熟指令
只有重開機的LOG是我故意加的
→
04/15 00:16,
7年前
, 9F
04/15 00:16, 9F
我再試試看 把他並進去
※ 編輯: HiJimmy (1.170.220.111), 04/15/2018 12:04:30
→
04/15 16:10,
7年前
, 10F
04/15 16:10, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章